diff --git a/src/examples/IfcOpenHouse.cpp b/src/examples/IfcOpenHouse.cpp index cb96d92022..588238c3bc 100644 --- a/src/examples/IfcOpenHouse.cpp +++ b/src/examples/IfcOpenHouse.cpp @@ -60,12 +60,12 @@ int main(int argc, char** argv) { // Start by adding a wall to the file, initially leaving most attributes blank. IfcSchema::IfcWallStandardCase* south_wall = new IfcSchema::IfcWallStandardCase( guid(), // GlobalId - 0, // OwnerHistory + 0, // OwnerHistory S("South wall"), // Name null, // Description null, // ObjectType - 0, // ObjectPlacement - 0, // Representation + null, // ObjectPlacement + null, // Representation null // Tag #ifdef USE_IFC4 , IfcSchema::IfcWallTypeEnum::IfcWallType_STANDARD @@ -78,10 +78,10 @@ int main(int argc, char** argv) { // Lateron changing the name of the IfcProject can be done by obtaining a reference to the // project, which has been created automatically. - file.getSingle()->setName("IfcOpenHouse"); + file.getSingle()->Name(S("IfcOpenHouse")); // An IfcOwnerHistory has been initialized as well, which should be assigned to the wall. - south_wall->setOwnerHistory(file.getSingle()); + south_wall->OwnerHistory(file.getSingle()); // The wall will be shaped as a box, with the dimensions specified in millimeters. The resulting // product definition will consist of both a body representation as well as an axis representation @@ -90,12 +90,12 @@ int main(int argc, char** argv) { // Obtain a reference to the placement of the IfcBuildingStorey in order to create a hierarchy // of placements for the products - IfcSchema::IfcObjectPlacement* storey_placement = file.getSingle()->ObjectPlacement(); + IfcSchema::IfcObjectPlacement* storey_placement = *file.getSingle()->ObjectPlacement(); // The shape has to be assigned to the representation of the wall and is placed at the origin // of the coordinate system. - south_wall->setRepresentation(south_wall_shape); - south_wall->setObjectPlacement(file.addLocalPlacement(storey_placement)); + south_wall->Representation(south_wall_shape); + south_wall->ObjectPlacement(file.addLocalPlacement(storey_placement)); // A pale white colour is assigned to the wall. IfcSchema::IfcPresentationStyleAssignment* wall_colour = file.setSurfaceColour( @@ -103,17 +103,17 @@ int main(int argc, char** argv) { // Now create a footing for the wall to rest on. IfcSchema::IfcFooting* footing = new IfcSchema::IfcFooting(guid(), file.getSingle(), - S("Footing"), null, null, 0, 0, null, IfcSchema::IfcFootingTypeEnum::IfcFootingType_STRIP_FOOTING); + S("Footing"), null, null, null, null, null, IfcSchema::IfcFootingTypeEnum::IfcFootingType_STRIP_FOOTING); file.addBuildingProduct(footing); // The footing will span the entire floor plan of our building. The IfcRepresentationContext is // something that has been created automatically as well, but representations could have been // assigned to a specific context, for example to add a two dimensional plan representation as well. - footing->setRepresentation(file.addBox(10100, 5460, 2000)); - footing->setObjectPlacement(file.addLocalPlacement(storey_placement, 0, 2500, -2000)); + footing->Representation(file.addBox(10100, 5460, 2000)); + footing->ObjectPlacement(file.addLocalPlacement(storey_placement, 0, 2500, -2000)); // The footing will have a dark gray colour - IfcSchema::IfcPresentationStyleAssignment* footing_colour = file.setSurfaceColour(footing->Representation(), 0.26, 0.22, 0.18); + IfcSchema::IfcPresentationStyleAssignment* footing_colour = file.setSurfaceColour(*footing->Representation(), 0.26, 0.22, 0.18); // IFC has two ways to apply boolean operations to geometry. IfcBooleanResults are commonly used // to clip geometry to a surface, for example to a slanted roof. For openings that are filled @@ -121,7 +121,7 @@ int main(int argc, char** argv) { // An opening element is created with rectangular geometry: IfcSchema::IfcOpeningElement* west_opening = new IfcSchema::IfcOpeningElement(guid(), file.getSingle(), - null, null, null, file.addLocalPlacement(south_wall->ObjectPlacement(), -2500, 0, 400), + null, null, null, file.addLocalPlacement(*south_wall->ObjectPlacement(), -2500, 0, 400), file.addBox(6000, 3630, 1600), null #ifdef USE_IFC4 , IfcSchema::IfcOpeningElementTypeEnum::IfcOpeningElementType_OPENING @@ -147,7 +147,7 @@ int main(int argc, char** argv) { // Create a roof element that will consist of two slabs: IfcSchema::IfcRoof* roof = new IfcSchema::IfcRoof(guid(), file.getSingle(), S("Roof"), null, null, - file.addLocalPlacement(storey_placement), 0, null, IfcSchema::IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF); + file.addLocalPlacement(storey_placement), null, null, IfcSchema::IfcRoofTypeEnum::IfcRoofType_GABLE_ROOF); // The roof geometry is slanted 45 degrees by specifying a direction for the box extrusion IfcSchema::IfcShapeRepresentation* roof_rep = file.addEmptyRepresentation(); @@ -156,21 +156,21 @@ int main(int argc, char** argv) { // CV-2x3-144: Roofs are aggregates and shall have at least one contained element and no own geometry IfcSchema::IfcSlab* south_roof_part = new IfcSchema::IfcSlab(guid(), file.getSingle(), S("South roof"), - null, null, 0, 0, null, IfcSchema::IfcSlabTypeEnum::IfcSlabType_ROOF); + null, null, null, null, null, IfcSchema::IfcSlabTypeEnum::IfcSlabType_ROOF); // The geometry is instantiated by using IfcMappedItems. This way geometry definitions can // be reused while maintaining the cardinality constraint that the ShapeOfProduct relation // imposes on the IfcProductDefinitionShape. Note that this constrained is lifted in IFC4. - south_roof_part->setRepresentation(file.addMappedItem(roof_rep)); - south_roof_part->setObjectPlacement(file.addLocalPlacement(roof->ObjectPlacement(), 0, -400, 2700)); + south_roof_part->Representation(file.addMappedItem(roof_rep)); + south_roof_part->ObjectPlacement(file.addLocalPlacement(*roof->ObjectPlacement(), 0, -400, 2700)); // The same roof geometry is re-used on the north side of the roof, by inverting the X-axis of // the local placement the roof is rotated 180 degrees around the Z-axis IfcSchema::IfcSlab* north_roof_part = new IfcSchema::IfcSlab(guid(), file.getSingle(), S("North roof"), - null, null, 0, 0, null, IfcSchema::IfcSlabTypeEnum::IfcSlabType_ROOF); - north_roof_part->setOwnerHistory(file.getSingle()); - north_roof_part->setRepresentation(file.addMappedItem(roof_rep)); - north_roof_part->setObjectPlacement(file.addLocalPlacement(roof->ObjectPlacement(), 0, 5400, 2700, 0, 0, 1, -1, 0, 0)); + null, null, null, null, null, IfcSchema::IfcSlabTypeEnum::IfcSlabType_ROOF); + north_roof_part->OwnerHistory(file.getSingle()); + north_roof_part->Representation(file.addMappedItem(roof_rep)); + north_roof_part->ObjectPlacement(file.addLocalPlacement(*roof->ObjectPlacement(), 0, 5400, 2700, 0, 0, 1, -1, 0, 0)); IfcSchema::IfcObjectDefinition::list::ptr roof_parts(new IfcSchema::IfcObjectDefinition::list); roof_parts->push(south_roof_part); @@ -193,7 +193,7 @@ int main(int argc, char** argv) { #endif ); file.addBuildingProduct(north_wall); - file.setSurfaceColour(north_wall->Representation(), wall_colour); + file.setSurfaceColour(*north_wall->Representation(), wall_colour); IfcSchema::IfcShapeRepresentation* clipped_wall_body_rep = file.addEmptyRepresentation(); file.addBox(clipped_wall_body_rep, 5000, 360, 6000); @@ -227,9 +227,9 @@ int main(int argc, char** argv) { IfcSchema::IfcWallStandardCase* wall = i == 0 ? east_wall : west_wall; IfcSchema::IfcShapeRepresentation* wall_axis_rep = file.addEmptyRepresentation("Axis", "Curve2D"); file.addAxis(wall_axis_rep, 5000); - IfcSchema::IfcRepresentation::list::ptr reps = wall->Representation()->Representations(); + IfcSchema::IfcRepresentation::list::ptr reps = wall->Representation().get()->Representations(); reps->push(wall_axis_rep); - wall->Representation()->setRepresentations(reps); + wall->Representation().get()->Representations(reps); } // The west wall is assigned an opening element we created for the south wall, opening elements are @@ -241,7 +241,7 @@ int main(int argc, char** argv) { // Not all viewers support opening elements with mapped representations, hence an exact copy of the // same subtraction box is instantiated for the otherwise identical opening element. IfcSchema::IfcOpeningElement* west_opening_copy = new IfcSchema::IfcOpeningElement(guid(), file.getSingle(), - null, null, null, file.addLocalPlacement(west_wall->ObjectPlacement(), 2500, -2500+4820, 400, 0, 0, 1, 0, 1, 0), + null, null, null, file.addLocalPlacement(*west_wall->ObjectPlacement(), 2500, -2500+4820, 400, 0, 0, 1, 0, 1, 0), file.addBox(6000, 3630, 1600), null #ifdef USE_IFC4 , IfcSchema::IfcOpeningElementTypeEnum::IfcOpeningElementType_OPENING @@ -257,11 +257,11 @@ int main(int argc, char** argv) { createGroundShape(shape); IfcEntityList::ptr geometrical_entities(new IfcEntityList); IfcSchema::IfcProductDefinitionShape* ground_representation = IfcGeom::tesselate(shape, 100., geometrical_entities); - file.getSingle()->setRepresentation(ground_representation); + file.getSingle()->Representation(ground_representation); file.addEntities(geometrical_entities); IfcSchema::IfcShapeRepresentation::list::ptr ground_reps = geometrical_entities->as(); for (IfcSchema::IfcShapeRepresentation::list::it it = ground_reps->begin(); it != ground_reps->end(); ++it) { - (*it)->setContextOfItems(file.getRepresentationContext("Model")); + (*it)->ContextOfItems(file.getRepresentationContext("Model")); } file.setSurfaceColour(ground_representation, 0.15, 0.25, 0.05); @@ -343,7 +343,7 @@ int main(int argc, char** argv) { ); file.addBuildingProduct(stair); - file.setSurfaceColour(stair->Representation(), footing_colour); + file.setSurfaceColour(*stair->Representation(), footing_colour); IfcSchema::IfcOpeningElement* door_opening = new IfcSchema::IfcOpeningElement(guid(), file.getSingle(), null, null, null, file.addLocalPlacement(storey_placement, 5000-180, 2500-900, 0), file.addBox(1000, 1000, 2200), null @@ -358,19 +358,19 @@ int main(int argc, char** argv) { // can be a composition of multiple solids. The following door will be composed of four boxes // which constitute the door and its frame. IfcSchema::IfcDoor* door = new IfcSchema::IfcDoor(guid(), file.getSingle(), null, null, null, - file.addLocalPlacement(storey_placement, 4800, 1600, 0, 0, 0, 1, 0, 1, 0), 0, null, 2200, 1000 + file.addLocalPlacement(storey_placement, 4800, 1600, 0, 0, 0, 1, 0, 1, 0), null, null, 2200, 1000 #ifdef USE_IFC4 , IfcSchema::IfcDoorTypeEnum::IfcDoorType_DOOR , IfcSchema::IfcDoorTypeOperationEnum::IfcDoorTypeOperation_SINGLE_SWING_LEFT , null #endif ); - door->setRepresentation(file.addBox(80, 80, 2120, 0, file.addPlacement3d(460, 0, 0))); - IfcSchema::IfcRepresentation::list::ptr door_representations = door->Representation()->Representations(); + door->Representation(file.addBox(80, 80, 2120, 0, file.addPlacement3d(460, 0, 0))); + IfcSchema::IfcRepresentation::list::ptr door_representations = door->Representation().get()->Representations(); IfcSchema::IfcShapeRepresentation* door_body = 0; for (IfcSchema::IfcRepresentation::list::it i = door_representations->begin(); i != door_representations->end(); ++i) { IfcSchema::IfcRepresentation* rep = *i; - if (rep->is(IfcSchema::Type::IfcShapeRepresentation) && rep->RepresentationIdentifier() == "Body") { + if (rep->is(IfcSchema::Type::IfcShapeRepresentation) && *rep->RepresentationIdentifier() == "Body") { door_body = (IfcSchema::IfcShapeRepresentation*) rep; } } @@ -378,7 +378,7 @@ int main(int argc, char** argv) { file.addBox(door_body, 1000, 80, 80, 0, file.addPlacement3d( 0, 0, 2120)); file.addBox(door_body, 860, 30, 2120); file.addBuildingProduct(door); - file.setSurfaceColour(door->Representation(), 0.9, 0.9, 0.9); + file.setSurfaceColour(*door->Representation(), 0.9, 0.9, 0.9); file.addEntity(new IfcSchema::IfcRelFillsElement(guid(), file.getSingle(), null, null, door_opening, door)); // Surface styles are assigned to representation items, hence there is no real limitation to @@ -429,7 +429,7 @@ int main(int argc, char** argv) { // Create the window at the current location IfcSchema::IfcLocalPlacement* place = *it; IfcSchema::IfcWindow* window = new IfcSchema::IfcWindow(guid(), file.getSingle(), - null, null, null, place, 0, null, 1600, 1860 + null, null, null, place, null, null, 1600, 1860 #ifdef USE_IFC4 , IfcSchema::IfcWindowTypeEnum::IfcWindowType_WINDOW , IfcSchema::IfcWindowTypePartitioningEnum::IfcWindowTypePartitioning_SINGLE_PANEL @@ -477,7 +477,7 @@ int main(int argc, char** argv) { file.addEntity(glass_part); window_parts->push(glass_part); file.relatePlacements(window, glass_part); - file.setSurfaceColour(glass_part->Representation(), 0.6, 0.7, 0.75, 0.1); + file.setSurfaceColour(*glass_part->Representation(), 0.6, 0.7, 0.75, 0.1); // Now create a decomposition relation between the window and the parts. Most viewers and authoring // tools will consider the window a single entity that can be selected as a whole. diff --git a/src/examples/IfcParseExamples.cpp b/src/examples/IfcParseExamples.cpp index 342a6e8674..d837fb5e16 100644 --- a/src/examples/IfcParseExamples.cpp +++ b/src/examples/IfcParseExamples.cpp @@ -66,8 +66,8 @@ int main(int argc, char** argv) { if ( element->is(IfcWindow::Class()) ) { const IfcWindow* window = (IfcWindow*)element; - if ( window->hasOverallWidth() && window->hasOverallHeight() ) { - const double area = window->OverallWidth()*window->OverallHeight(); + if ( window->OverallWidth() && window->OverallHeight() ) { + const double area = window->OverallWidth().get() * window->OverallHeight().get(); std::cout << "The area of this window is " << area << std::endl; } } diff --git a/src/ifcconvert/XmlSerializer.cpp b/src/ifcconvert/XmlSerializer.cpp index bdfbc6644e..bd5bda9ab7 100644 --- a/src/ifcconvert/XmlSerializer.cpp +++ b/src/ifcconvert/XmlSerializer.cpp @@ -50,8 +50,8 @@ boost::optional format_attribute(const Argument* argument, IfcUtil: if (e->is(IfcSchema::Type::IfcSIUnit)) { IfcSchema::IfcSIUnit* unit = (IfcSchema::IfcSIUnit*) e; unit_name = IfcSchema::IfcSIUnitName::ToString(unit->Name()); - if (unit->hasPrefix()) { - unit_name = IfcSchema::IfcSIPrefix::ToString(unit->Prefix()) + unit_name; + if (unit->Prefix()) { + unit_name = IfcSchema::IfcSIPrefix::ToString(*unit->Prefix()) + unit_name; } } else { IfcSchema::IfcConversionBasedUnit* unit = (IfcSchema::IfcConversionBasedUnit*) e; @@ -124,6 +124,11 @@ typename V::list::ptr get_related(T* t, F f, G g) { return acc; } +// Member functions for IFC attributes have identical names for getters and setters. Hence a full member function signature is needed to identify them. +typedef IfcTemplatedEntityList::ptr (IfcRelContainedInSpatialStructure::*get_related_elements) (void) const; +typedef IfcTemplatedEntityList::ptr (IfcRelDecomposes::*get_related_objects) (void) const; +typedef IfcPropertySetDefinition* (IfcRelDefinesByProperties::*get_related_properties) (void) const; + // Descends into the tree by recursing into IfcRelContainedInSpatialStructure, // IfcRelDecomposes and IfcRelDefinesByProperties relations. template <> @@ -135,7 +140,7 @@ void descend(IfcProduct* product, ptree& tree) { IfcProduct::list::ptr elements = get_related - (structure, &IfcSpatialStructureElement::ContainsElements, &IfcRelContainedInSpatialStructure::RelatedElements); + (structure, &IfcSpatialStructureElement::ContainsElements, static_cast(&IfcRelContainedInSpatialStructure::RelatedElements)); for (IfcProduct::list::it it = elements->begin(); it != elements->end(); ++it) { descend(*it, child); @@ -144,7 +149,7 @@ void descend(IfcProduct* product, ptree& tree) { IfcObjectDefinition::list::ptr structures = get_related - (product, &IfcProduct::IsDecomposedBy, &IfcRelDecomposes::RelatedObjects); + (product, &IfcProduct::IsDecomposedBy, static_cast(&IfcRelDecomposes::RelatedObjects)); for (IfcObjectDefinition::list::it it = structures->begin(); it != structures->end(); ++it) { IfcObjectDefinition* ob = *it; @@ -157,7 +162,7 @@ void descend(IfcProduct* product, ptree& tree) { IfcPropertySetDefinition::list::ptr property_sets = get_related - (product, &IfcProduct::IsDefinedBy, &IfcRelDefinesByProperties::RelatingPropertyDefinition); + (product, &IfcProduct::IsDefinedBy, static_cast(&IfcRelDefinesByProperties::RelatingPropertyDefinition)); for (IfcPropertySetDefinition::list::it it = property_sets->begin(); it != property_sets->end(); ++it) { IfcPropertySetDefinition* pset = *it; @@ -174,7 +179,7 @@ void descend(IfcProject* project, ptree& tree) { IfcObjectDefinition::list::ptr structures = get_related - (project, &IfcProject::IsDecomposedBy, &IfcRelDecomposes::RelatedObjects); + (project, &IfcProject::IsDecomposedBy, static_cast(&IfcRelDecomposes::RelatedObjects)); for (IfcObjectDefinition::list::it it = structures->begin(); it != structures->end(); ++it) { IfcObjectDefinition* ob = *it; diff --git a/src/ifcexpressparser/header.py b/src/ifcexpressparser/header.py index da29c0e262..10578b8308 100644 --- a/src/ifcexpressparser/header.py +++ b/src/ifcexpressparser/header.py @@ -63,14 +63,11 @@ class Header: if len(type.supertypes) == 0 or set(type.supertypes) < emitted_entities: attr_lines = [] def write_method(attr): - if attr.optional: - attr_lines.append(templates.optional_attribute_description % (attr.name, name)) - attr_lines.append("bool has%s() const;"%(attr.name)) attr_lines.extend(["/// %s"%d for d in documentation.description((name, attr.name))]) - type_str = mapping.get_parameter_type(attr, allow_optional=False, allow_entities=False) + type_str = mapping.get_parameter_type(attr, allow_optional=True, allow_entities=True) if mapping.make_argument_type(attr) != "IfcUtil::Argument_UNKNOWN": attr_lines.append("%s %s() const;"%(type_str, attr.name)) - attr_lines.append("void set%s(%s v);"%(attr.name, type_str)) + attr_lines.append("void %s(%s v);"%(attr.name, type_str)) [write_method(attr) for attr in type.attributes] diff --git a/src/ifcexpressparser/implementation.py b/src/ifcexpressparser/implementation.py index 94aed1a40f..dc95cf0e9c 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -59,25 +59,23 @@ class Implementation: write_attr = lambda str, **kwargs: attributes.append(str%kwargs) for arg in constructor_arguments: if not arg['is_inherited'] and not arg['is_derived']: - if arg['is_optional']: - write_attr( - templates.const_function, - class_name = name, - name = 'has%s'%arg['name'], - arguments = '', - return_type = 'bool', - body = templates.optional_attr_stmt % {'index':arg['index']-1} - ) - + def find_template(arg): simple = mapping.schema.is_simpletype(arg['list_instance_type']) select = arg['list_instance_type'] == "IfcUtil::IfcBaseClass" express = arg['list_instance_type'] in mapping.express_to_cpp_typemapping - if arg['is_enum']: return templates.get_attr_stmt_enum - elif arg['is_nested']: return templates.get_attr_stmt_nested_array - elif arg['is_array'] and not (select or simple or express): return templates.get_attr_stmt_array - elif arg['non_optional_type'].endswith('*'): return templates.get_attr_stmt_entity - else: return templates.get_attr_stmt + if arg['is_optional']: + if arg['is_enum']: return templates.get_attr_stmt_optional_enum + elif arg['is_nested']: return templates.get_attr_stmt_optional_nested_array + elif arg['is_array'] and not (select or simple or express): return templates.get_attr_stmt_optional_array + elif arg['non_optional_type'].endswith('*'): return templates.get_attr_stmt_optional_entity + else: return templates.get_attr_stmt_generic + else: + if arg['is_enum']: return templates.get_attr_stmt_enum + elif arg['is_nested']: return templates.get_attr_stmt_nested_array + elif arg['is_array'] and not (select or simple or express): return templates.get_attr_stmt_array + elif arg['non_optional_type'].endswith('*'): return templates.get_attr_stmt_entity + else: return templates.get_attr_stmt_generic tmpl = find_template(arg) write_attr( @@ -85,7 +83,7 @@ class Implementation: class_name = name, name = arg['name'], arguments = '', - return_type = arg['non_optional_type'], + return_type = arg['full_type'], body = tmpl % {'index': arg['index']-1, 'type' : arg['non_optional_type'].split('::')[0], 'list_instance_type' : arg['list_instance_type']} @@ -95,16 +93,21 @@ class Implementation: simple = mapping.schema.is_simpletype(arg['list_instance_type']) select = arg['list_instance_type'] == "IfcUtil::IfcBaseClass" express = arg['list_instance_type'] in mapping.express_to_cpp_typemapping - if arg['is_enum']: return templates.set_attr_stmt_enum - elif arg['is_array'] and not (select or simple or express): return templates.set_attr_stmt_array - else: return templates.set_attr_stmt + if arg['is_optional']: + if arg['is_enum']: return templates.set_attr_stmt_optional_enum + elif arg['is_array'] and not (select or simple or express): return templates.set_attr_stmt_optional_array + else: return templates.set_attr_stmt_optional_generic + else: + if arg['is_enum']: return templates.set_attr_stmt_enum + elif arg['is_array'] and not (select or simple or express): return templates.set_attr_stmt_array + else: return templates.set_attr_stmt_generic tmpl = find_template(arg) write_attr( templates.function, class_name = name, - name = 'set%s'%arg['name'], - arguments = '%s v'%arg['non_optional_type'], + name = arg['name'], + arguments = '%s v'%arg['full_type'], return_type = 'void', body = tmpl % {'index': arg['index']-1, 'type' : arg['non_optional_type'].split('::')[0]} @@ -113,9 +116,8 @@ class Implementation: if arg['is_derived']: constructor_implementations.append(templates.constructor_stmt_derived % {'index' : arg['index']-1}) else: - is_optional_non_naked_ptr = arg['is_optional'] and not arg['non_optional_type'].endswith('*') arg_name = "v%(index)d_%(name)s"%arg - deref_name = ("*%s"%arg_name) if is_optional_non_naked_ptr else arg_name + deref_name = ("*%s"%arg_name) if arg['is_optional'] else arg_name tmpl = templates.constructor_stmt_array if arg['is_templated_list'] \ else templates.constructor_stmt_enum if arg['is_enum'] \ @@ -123,7 +125,7 @@ class Implementation: impl = tmpl % {'name' : deref_name, 'index' : arg['index']-1, 'type' : arg['non_optional_type'].split('::')[0]} - if is_optional_non_naked_ptr: + if arg['is_optional']: impl = templates.constructor_stmt_optional%{'name' : arg_name, 'index' : arg['index']-1, 'stmt' : impl} diff --git a/src/ifcexpressparser/mapping.py b/src/ifcexpressparser/mapping.py index be6a493e95..9c2a0802cd 100644 --- a/src/ifcexpressparser/mapping.py +++ b/src/ifcexpressparser/mapping.py @@ -108,8 +108,6 @@ class Mapping: attr_type = self.flatten_type(attr.type) type_str = self.express_to_cpp_typemapping.get(str(attr_type), attr_type) - is_ptr = False - if self.schema.is_enumeration(attr_type): type_str = '%s::%s'%(attr_type, attr_type) elif isinstance(type_str, nodes.AggregationType): @@ -130,11 +128,9 @@ class Mapping: } elif allow_pointer and (self.schema.is_entity(type_str) or self.schema.is_select(type_str)): type_str += '*' - is_ptr = True elif not allow_pointer and self.schema.is_select(type_str): type_str = "IfcUtil::IfcBaseClass*" - is_ptr = True - if allow_optional and attr.optional and not is_ptr: + if allow_optional and attr.optional:# and not is_ptr: type_str = "boost::optional< %s >"%type_str return type_str diff --git a/src/ifcexpressparser/templates.py b/src/ifcexpressparser/templates.py index 5f89bde002..87109aa428 100644 --- a/src/ifcexpressparser/templates.py +++ b/src/ifcexpressparser/templates.py @@ -412,20 +412,29 @@ parent_type_stmt = ' if(v==%(name)s%(padding)s) { return %(parent)s; }' parent_type_test = " || %s::is(v)" -optional_attr_stmt = "return !entity->getArgument(%(index)d)->isNull();" +get_attr_stmt_generic = "return *entity->getArgument(%(index)d);" +get_attr_stmt_enum = "return %(type)s::FromString(*entity->getArgument(%(index)d));" +get_attr_stmt_entity = "return (%(type)s)((IfcUtil::IfcBaseClass*)(*entity->getArgument(%(index)d)));" +get_attr_stmt_array = "IfcEntityList::ptr es = *entity->getArgument(%(index)d); return es->as<%(list_instance_type)s>();" +get_attr_stmt_nested_array = "IfcEntityListList::ptr es = *entity->getArgument(%(index)d); return es->as<%(list_instance_type)s>();" +get_attr_stmt_optional = "Argument* arg = entity->getArgument(%%(index)d); if (arg->isNull()) { return boost::none; } else { %s }" +get_attr_stmt_optional_generic = get_attr_stmt_optional % "return *arg;" +get_attr_stmt_optional_enum = get_attr_stmt_optional % "return %(type)s::FromString(*arg);" +get_attr_stmt_optional_entity = get_attr_stmt_optional % "return (%(type)s)((IfcUtil::IfcBaseClass*)(*arg));" +get_attr_stmt_optional_array = get_attr_stmt_optional % "IfcEntityList::ptr es = *arg; return es->as<%(list_instance_type)s>();" +get_attr_stmt_optional_nested_array = get_attr_stmt_optional % "IfcEntityListList::ptr es = *arg; return es->as<%(list_instance_type)s>();" -get_attr_stmt = "return *entity->getArgument(%(index)d);" -get_attr_stmt_enum = "return %(type)s::FromString(*entity->getArgument(%(index)d));" -get_attr_stmt_entity = "return (%(type)s)((IfcUtil::IfcBaseClass*)(*entity->getArgument(%(index)d)));" -get_attr_stmt_array = "IfcEntityList::ptr es = *entity->getArgument(%(index)d); return es->as<%(list_instance_type)s>();" -get_attr_stmt_nested_array = "IfcEntityListList::ptr es = *entity->getArgument(%(index)d); return es->as<%(list_instance_type)s>();" +set_attr_stmt = "IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } %s;" +set_attr_stmt_optional = "IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { %s; } else { w->setArgument(%%(index)d); }" +set_attr_stmt_generic = set_attr_stmt % "w->setArgument(%(index)d,v)" +set_attr_stmt_enum = set_attr_stmt % "w->setArgument(%(index)d,v,%(type)s::ToString(v));" +set_attr_stmt_array = set_attr_stmt % "w->setArgument(%(index)d,v->generalize());" +set_attr_stmt_optional_generic = set_attr_stmt_optional % "w->setArgument(%(index)d,*v)" +set_attr_stmt_optional_enum = set_attr_stmt_optional % "w->setArgument(%(index)d,*v,%(type)s::ToString(*v));" +set_attr_stmt_optional_array = set_attr_stmt_optional % "w->setArgument(%(index)d,(*v)->generalize());" get_inverse = "return entity->getInverse(Type::%(type)s, %(index)d)->as<%(type)s>();" -set_attr_stmt = "if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(%(index)d,v);" -set_attr_stmt_enum = "if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(%(index)d,v,%(type)s::ToString(v));" -set_attr_stmt_array = "if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(%(index)d,v->generalize());" - constructor_stmt = " e->setArgument(%(index)d,(%(name)s));" constructor_stmt_enum = " e->setArgument(%(index)d,%(name)s,%(type)s::ToString(%(name)s));" constructor_stmt_array = " e->setArgument(%(index)d,(%(name)s)->generalize());" diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index de87c68e47..40e54375fa 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -271,11 +271,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangleHollowProfileDef* l, const double y = l->YDim() / 2.0f * getValue(GV_LENGTH_UNIT); const double d = l->WallThickness() * getValue(GV_LENGTH_UNIT); - const bool fr1 = l->hasOuterFilletRadius(); - const bool fr2 = l->hasInnerFilletRadius(); + const bool fr1 = l->OuterFilletRadius() ? true : false; + const bool fr2 = l->InnerFilletRadius() ? true : false; - const double r1 = fr1 ? l->OuterFilletRadius() * getValue(GV_LENGTH_UNIT) : 0.; - const double r2 = fr2 ? l->InnerFilletRadius() * getValue(GV_LENGTH_UNIT) : 0.; + const double r1 = fr1 ? *l->OuterFilletRadius() * getValue(GV_LENGTH_UNIT) : 0.; + const double r2 = fr2 ? *l->InnerFilletRadius() * getValue(GV_LENGTH_UNIT) : 0.; if ( x < ALMOST_ZERO || y < ALMOST_ZERO ) { Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l->entity); @@ -336,10 +336,10 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcIShapeProfileDef* l, TopoDS_Sh const double d1 = l->WebThickness() / 2.0f * getValue(GV_LENGTH_UNIT); const double dy1 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - bool doFillet1 = l->hasFilletRadius(); + bool doFillet1 = l->FilletRadius() ? true : false; double f1 = 0.; if ( doFillet1 ) { - f1 = l->FilletRadius() * getValue(GV_LENGTH_UNIT); + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); } bool doFillet2 = doFillet1; @@ -348,12 +348,12 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcIShapeProfileDef* l, TopoDS_Sh if (l->is(IfcSchema::Type::IfcAsymmetricIShapeProfileDef)) { IfcSchema::IfcAsymmetricIShapeProfileDef* assym = (IfcSchema::IfcAsymmetricIShapeProfileDef*) l; x2 = assym->TopFlangeWidth() / 2. * getValue(GV_LENGTH_UNIT); - doFillet2 = assym->hasTopFlangeFilletRadius(); + doFillet2 = assym->TopFlangeFilletRadius() ? true : false; if (doFillet2) { - f2 = assym->TopFlangeFilletRadius() * getValue(GV_LENGTH_UNIT); + f2 = *assym->TopFlangeFilletRadius() * getValue(GV_LENGTH_UNIT); } - if (assym->hasTopFlangeThickness()) { - dy2 = assym->TopFlangeThickness() * getValue(GV_LENGTH_UNIT); + if (assym->TopFlangeThickness()) { + dy2 = *assym->TopFlangeThickness() * getValue(GV_LENGTH_UNIT); } } @@ -377,17 +377,17 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcZShapeProfileDef* l, TopoDS_Sh const double dx = l->WebThickness() / 2.0f * getValue(GV_LENGTH_UNIT); const double dy = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - bool doFillet = l->hasFilletRadius(); - bool doEdgeFillet = l->hasEdgeRadius(); + bool doFillet = l->FilletRadius() ? true : false; + bool doEdgeFillet = l->EdgeRadius() ? true : false; double f1 = 0.; double f2 = 0.; if ( doFillet ) { - f1 = l->FilletRadius() * getValue(GV_LENGTH_UNIT); + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); } if ( doEdgeFillet ) { - f2 = l->EdgeRadius() * getValue(GV_LENGTH_UNIT); + f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); } if ( x == 0.0f || y == 0.0f || dx == 0.0f || dy == 0.0f ) { @@ -409,11 +409,11 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCShapeProfileDef* l, TopoDS_Sh const double x = l->Width() / 2.0f * getValue(GV_LENGTH_UNIT); const double d1 = l->WallThickness() * getValue(GV_LENGTH_UNIT); const double d2 = l->Girth() * getValue(GV_LENGTH_UNIT); - bool doFillet = l->hasInternalFilletRadius(); + bool doFillet = l->InternalFilletRadius() ? true : false; double f1 = 0; double f2 = 0; if ( doFillet ) { - f1 = l->InternalFilletRadius() * getValue(GV_LENGTH_UNIT); + f1 = *l->InternalFilletRadius() * getValue(GV_LENGTH_UNIT); f2 = f1 + d1; } @@ -432,22 +432,22 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCShapeProfileDef* l, TopoDS_Sh } bool IfcGeom::Kernel::convert(const IfcSchema::IfcLShapeProfileDef* l, TopoDS_Shape& face) { - const bool hasSlope = l->hasLegSlope(); - const bool doEdgeFillet = l->hasEdgeRadius(); - const bool doFillet = l->hasFilletRadius(); + const bool hasSlope = l->LegSlope() ? true : false; + const bool doEdgeFillet = l->EdgeRadius() ? true : false; + const bool doFillet = l->FilletRadius() ? true : false; const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); - const double x = (l->hasWidth() ? l->Width() : l->Depth()) / 2.0f * getValue(GV_LENGTH_UNIT); + const double x = (l->Width() ? *l->Width() : l->Depth()) / 2.0f * getValue(GV_LENGTH_UNIT); const double d = l->Thickness() * getValue(GV_LENGTH_UNIT); - const double slope = hasSlope ? (l->LegSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; + const double slope = hasSlope ? (*l->LegSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; double f1 = 0.0f; double f2 = 0.0f; if (doFillet) { - f1 = l->FilletRadius() * getValue(GV_LENGTH_UNIT); + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); } if ( doEdgeFillet) { - f2 = l->EdgeRadius() * getValue(GV_LENGTH_UNIT); + f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); } if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d < ALMOST_ZERO ) { @@ -501,15 +501,15 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcLShapeProfileDef* l, TopoDS_Sh } bool IfcGeom::Kernel::convert(const IfcSchema::IfcUShapeProfileDef* l, TopoDS_Shape& face) { - const bool doEdgeFillet = l->hasEdgeRadius(); - const bool doFillet = l->hasFilletRadius(); - const bool hasSlope = l->hasFlangeSlope(); + const bool doEdgeFillet = l->EdgeRadius() ? true : false; + const bool doFillet = l->FilletRadius() ? true : false; + const bool hasSlope = l->FlangeSlope() ? true : false; const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); const double x = l->FlangeWidth() / 2.0f * getValue(GV_LENGTH_UNIT); const double d1 = l->WebThickness() * getValue(GV_LENGTH_UNIT); const double d2 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - const double slope = hasSlope ? (l->FlangeSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; + const double slope = hasSlope ? (*l->FlangeSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; double dy1 = 0.0f; double dy2 = 0.0f; @@ -517,10 +517,10 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcUShapeProfileDef* l, TopoDS_Sh double f2 = 0.0f; if (doFillet) { - f1 = l->FilletRadius() * getValue(GV_LENGTH_UNIT); + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); } if (doEdgeFillet) { - f2 = l->EdgeRadius() * getValue(GV_LENGTH_UNIT); + f2 = *l->EdgeRadius() * getValue(GV_LENGTH_UNIT); } if (hasSlope) { @@ -543,18 +543,18 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcUShapeProfileDef* l, TopoDS_Sh } bool IfcGeom::Kernel::convert(const IfcSchema::IfcTShapeProfileDef* l, TopoDS_Shape& face) { - const bool doFlangeEdgeFillet = l->hasFlangeEdgeRadius(); - const bool doWebEdgeFillet = l->hasWebEdgeRadius(); - const bool doFillet = l->hasFilletRadius(); - const bool hasFlangeSlope = l->hasFlangeSlope(); - const bool hasWebSlope = l->hasWebSlope(); + const bool doFlangeEdgeFillet = l->FlangeEdgeRadius() ? true : false; + const bool doWebEdgeFillet = l->WebEdgeRadius() ? true : false; + const bool doFillet = l->FilletRadius() ? true : false; + const bool hasFlangeSlope = l->FlangeSlope() ? true : false; + const bool hasWebSlope = l->WebSlope() ? true : false; const double y = l->Depth() / 2.0f * getValue(GV_LENGTH_UNIT); const double x = l->FlangeWidth() / 2.0f * getValue(GV_LENGTH_UNIT); const double d1 = l->WebThickness() * getValue(GV_LENGTH_UNIT); const double d2 = l->FlangeThickness() * getValue(GV_LENGTH_UNIT); - const double flangeSlope = hasFlangeSlope ? (l->FlangeSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; - const double webSlope = hasWebSlope ? (l->WebSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; + const double flangeSlope = hasFlangeSlope ? (*l->FlangeSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; + const double webSlope = hasWebSlope ? (*l->WebSlope() * getValue(GV_PLANEANGLE_UNIT)) : 0.; if ( x < ALMOST_ZERO || y < ALMOST_ZERO || d1 < ALMOST_ZERO || d2 < ALMOST_ZERO ) { Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l->entity); @@ -570,13 +570,13 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTShapeProfileDef* l, TopoDS_Sh double f3 = 0.0f; if (doFillet) { - f1 = l->FilletRadius() * getValue(GV_LENGTH_UNIT); + f1 = *l->FilletRadius() * getValue(GV_LENGTH_UNIT); } if (doWebEdgeFillet) { - f2 = l->WebEdgeRadius() * getValue(GV_LENGTH_UNIT); + f2 = *l->WebEdgeRadius() * getValue(GV_LENGTH_UNIT); } if (doFlangeEdgeFillet) { - f3 = l->FlangeEdgeRadius() * getValue(GV_LENGTH_UNIT); + f3 = *l->FlangeEdgeRadius() * getValue(GV_LENGTH_UNIT); } double xx, xy; diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 2909871134..433e889011 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -157,23 +157,27 @@ bool IfcGeom::Kernel::convert_openings(const IfcSchema::IfcProduct* entity, cons // Convert the IfcRepresentation of the IfcOpeningElement gp_Trsf opening_trsf; - IfcGeom::Kernel::convert(fes->ObjectPlacement(),opening_trsf); + if (fes->ObjectPlacement()) { + IfcGeom::Kernel::convert(*fes->ObjectPlacement(),opening_trsf); + } // Move the opening into the coordinate system of the IfcProduct opening_trsf.PreMultiply(entity_trsf.Inverted()); - IfcSchema::IfcProductRepresentation* prodrep = fes->Representation(); - IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); + if (fes->Representation()) { + IfcSchema::IfcProductRepresentation* prodrep = *fes->Representation(); + IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); - for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { - convert_shapes(*it2,opening_shapes); - } + for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { + convert_shapes(*it2,opening_shapes); + } - const unsigned int current_size = (const unsigned int) opening_shapes.size(); - for ( unsigned int i = last_size; i < current_size; ++ i ) { - opening_shapes[i].prepend(opening_trsf); + const unsigned int current_size = (const unsigned int) opening_shapes.size(); + for ( unsigned int i = last_size; i < current_size; ++ i ) { + opening_shapes[i].prepend(opening_trsf); + } + last_size = current_size; } - last_size = current_size; } } @@ -292,27 +296,31 @@ bool IfcGeom::Kernel::convert_openings_fast(const IfcSchema::IfcProduct* entity, // Convert the IfcRepresentation of the IfcOpeningElement gp_Trsf opening_trsf; - IfcGeom::Kernel::convert(fes->ObjectPlacement(),opening_trsf); + if (fes->ObjectPlacement()) { + IfcGeom::Kernel::convert(*fes->ObjectPlacement(),opening_trsf); + } // Move the opening into the coordinate system of the IfcProduct opening_trsf.PreMultiply(entity_trsf.Inverted()); - IfcSchema::IfcProductRepresentation* prodrep = fes->Representation(); - IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); + if (fes->Representation()) { + IfcSchema::IfcProductRepresentation* prodrep = *fes->Representation(); + IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); - IfcGeom::IfcRepresentationShapeItems opening_shapes; + IfcGeom::IfcRepresentationShapeItems opening_shapes; - for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { - convert_shapes(*it2,opening_shapes); - } + for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { + convert_shapes(*it2,opening_shapes); + } - for ( unsigned int i = 0; i < opening_shapes.size(); ++ i ) { - gp_GTrsf gtrsf = opening_shapes[i].Placement(); - gtrsf.PreMultiply(opening_trsf); - const TopoDS_Shape& opening_shape = gtrsf.Form() == gp_Other - ? BRepBuilderAPI_GTransform(opening_shapes[i].Shape(),gtrsf,true).Shape() - : (opening_shapes[i].Shape()).Moved(gtrsf.Trsf()); - builder.Add(opening_compound,opening_shape); + for ( unsigned int i = 0; i < opening_shapes.size(); ++ i ) { + gp_GTrsf gtrsf = opening_shapes[i].Placement(); + gtrsf.PreMultiply(opening_trsf); + const TopoDS_Shape& opening_shape = gtrsf.Form() == gp_Other + ? BRepBuilderAPI_GTransform(opening_shapes[i].Shape(),gtrsf,true).Shape() + : (opening_shapes[i].Shape()).Moved(gtrsf.Trsf()); + builder.Add(opening_compound,opening_shape); + } } } @@ -843,12 +851,14 @@ IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_representation_and_pro } } catch (...) {} - const std::string name = product->hasName() ? product->Name() : ""; + const std::string name = product->Name().get_value_or(""); const std::string guid = product->GlobalId(); gp_Trsf trsf; try { - convert(product->ObjectPlacement(),trsf); + if (product->ObjectPlacement()) { + convert(*product->ObjectPlacement(),trsf); + } } catch (...) {} // Does the IfcElement have any IfcOpenings? @@ -1014,15 +1024,15 @@ std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUn unit = (IfcSchema::IfcSIUnit*)base; } if ( unit ) { - if ( unit->hasPrefix() ) { - value *= IfcParse::IfcSIPrefixToValue(unit->Prefix()); + if ( unit->Prefix() ) { + value *= IfcParse::IfcSIPrefixToValue(*unit->Prefix()); } IfcSchema::IfcUnitEnum::IfcUnitEnum type = unit->UnitType(); if ( type == IfcSchema::IfcUnitEnum::IfcUnit_LENGTHUNIT ) { setValue(IfcGeom::Kernel::GV_LENGTH_UNIT,value); if (current_unit_name.empty()) { - if (unit->hasPrefix()) { - current_unit_name = IfcSchema::IfcSIPrefix::ToString(unit->Prefix()); + if (unit->Prefix()) { + current_unit_name = IfcSchema::IfcSIPrefix::ToString(*unit->Prefix()); } current_unit_name += IfcSchema::IfcSIUnitName::ToString(unit->Name()); } diff --git a/src/ifcgeom/IfcGeomHelpers.cpp b/src/ifcgeom/IfcGeomHelpers.cpp index bba462dd12..864976dce7 100644 --- a/src/ifcgeom/IfcGeomHelpers.cpp +++ b/src/ifcgeom/IfcGeomHelpers.cpp @@ -114,9 +114,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement3D* l, gp_Trsf& IN_CACHE(IfcAxis2Placement3D,l,gp_Trsf,trsf) gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1);gp_Dir refDirection; IfcGeom::Kernel::convert(l->Location(),o); - bool hasRef = l->hasRefDirection(); - if ( l->hasAxis() ) IfcGeom::Kernel::convert(l->Axis(),axis); - if ( hasRef ) IfcGeom::Kernel::convert(l->RefDirection(),refDirection); + bool hasRef = l->RefDirection() ? true : false; + if ( l->Axis() ) IfcGeom::Kernel::convert(*l->Axis(),axis); + if ( hasRef ) IfcGeom::Kernel::convert(*l->RefDirection(),refDirection); gp_Ax3 ax3; if ( hasRef ) ax3 = gp_Ax3(o,axis,refDirection); else ax3 = gp_Ax3(o,axis); @@ -129,7 +129,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis1Placement* l, gp_Ax1& ax) IN_CACHE(IfcAxis1Placement,l,gp_Ax1,ax) gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1); IfcGeom::Kernel::convert(l->Location(),o); - if ( l->hasAxis() ) IfcGeom::Kernel::convert(l->Axis(), axis); + if ( l->Axis() ) IfcGeom::Kernel::convert(*l->Axis(), axis); ax = gp_Ax1(o, axis); CACHE(IfcAxis1Placement,l,ax) return true; @@ -142,14 +142,14 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato gp_Dir axis1 (1.,0.,0.); gp_Dir axis2 (0.,1.,0.); gp_Dir axis3 (0.,0.,1.); - if ( l->hasAxis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->hasAxis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); - if ( l->hasAxis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); + if ( l->Axis1() ) IfcGeom::Kernel::convert(*l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(*l->Axis2(),axis2); + if ( l->Axis3() ) IfcGeom::Kernel::convert(*l->Axis3(),axis3); gp_Ax3 ax3 (origin,axis3,axis1); if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); trsf.SetTransformation(ax3); trsf.Invert(); - if ( l->hasScale() ) trsf.SetScaleFactor(l->Scale()); + if ( l->Scale() ) trsf.SetScaleFactor(*l->Scale()); CACHE(IfcCartesianTransformationOperator3D,l,trsf) return true; } @@ -162,8 +162,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato gp_Dir axis2 (0.,1.,0.); IfcGeom::Kernel::convert(l->LocalOrigin(),origin); - if ( l->hasAxis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->hasAxis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); + if ( l->Axis1() ) IfcGeom::Kernel::convert(*l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(*l->Axis2(),axis2); const gp_Pnt2d origin2d(origin.X(), origin.Y()); const gp_Dir2d axis12d(axis1.X(), axis1.Y()); @@ -183,7 +183,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato } trsf.Invert(); - if ( l->hasScale() ) trsf.SetScaleFactor(l->Scale()); + if ( l->Scale() ) trsf.SetScaleFactor(*l->Scale()); CACHE(IfcCartesianTransformationOperator2D,l,trsf) return true; } @@ -196,16 +196,16 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato gp_Dir axis1 (1.,0.,0.); gp_Dir axis2 (0.,1.,0.); gp_Dir axis3 (0.,0.,1.); - if ( l->hasAxis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->hasAxis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); - if ( l->hasAxis3() ) IfcGeom::Kernel::convert(l->Axis3(),axis3); + if ( l->Axis1() ) IfcGeom::Kernel::convert(*l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(*l->Axis2(),axis2); + if ( l->Axis3() ) IfcGeom::Kernel::convert(*l->Axis3(),axis3); gp_Ax3 ax3 (origin,axis3,axis1); if ( axis2.Dot(ax3.YDirection()) < 0 ) ax3.YReverse(); trsf.SetTransformation(ax3); trsf.Invert(); - const double scale1 = l->hasScale() ? l->Scale() : 1.0f; - const double scale2 = l->hasScale2() ? l->Scale2() : scale1; - const double scale3 = l->hasScale3() ? l->Scale3() : scale1; + const double scale1 = l->Scale() ? *l->Scale() : 1.0f; + const double scale2 = l->Scale2() ? *l->Scale2() : scale1; + const double scale3 = l->Scale3() ? *l->Scale3() : scale1; gtrsf = gp_GTrsf(); gtrsf.SetValue(1,1,scale1); gtrsf.SetValue(2,2,scale2); @@ -224,8 +224,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato gp_Dir axis2 (0.,1.,0.); IfcGeom::Kernel::convert(l->LocalOrigin(),origin); - if ( l->hasAxis1() ) IfcGeom::Kernel::convert(l->Axis1(),axis1); - if ( l->hasAxis2() ) IfcGeom::Kernel::convert(l->Axis2(),axis2); + if ( l->Axis1() ) IfcGeom::Kernel::convert(*l->Axis1(),axis1); + if ( l->Axis2() ) IfcGeom::Kernel::convert(*l->Axis2(),axis2); const gp_Pnt2d origin2d(origin.X(), origin.Y()); const gp_Dir2d axis12d(axis1.X(), axis1.Y()); @@ -241,8 +241,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCartesianTransformationOperato trsf.Invert(); - const double scale1 = l->hasScale() ? l->Scale() : 1.0f; - const double scale2 = l->hasScale2() ? l->Scale2() : scale1; + const double scale1 = l->Scale() ? *l->Scale() : 1.0f; + const double scale2 = l->Scale2() ? *l->Scale2() : scale1; gtrsf = gp_GTrsf2d(); gtrsf.SetValue(1,1,scale1); gtrsf.SetValue(2,2,scale2); @@ -256,9 +256,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcPlane* pln, gp_Pln& plane) { IfcSchema::IfcAxis2Placement3D* l = pln->Position(); gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1);gp_Dir refDirection; IfcGeom::Kernel::convert(l->Location(),o); - bool hasRef = l->hasRefDirection(); - if ( l->hasAxis() ) IfcGeom::Kernel::convert(l->Axis(),axis); - if ( hasRef ) IfcGeom::Kernel::convert(l->RefDirection(),refDirection); + bool hasRef = l->RefDirection(); + if ( l->Axis() ) IfcGeom::Kernel::convert(*l->Axis(),axis); + if ( hasRef ) IfcGeom::Kernel::convert(*l->RefDirection(),refDirection); gp_Ax3 ax3; if ( hasRef ) ax3 = gp_Ax3(o,axis,refDirection); else ax3 = gp_Ax3(o,axis); @@ -271,8 +271,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcAxis2Placement2D* l, gp_Trsf2d IN_CACHE(IfcAxis2Placement2D,l,gp_Trsf2d,trsf) gp_Pnt P; gp_Dir V (1,0,0); IfcGeom::Kernel::convert(l->Location(),P); - if ( l->hasRefDirection() ) - IfcGeom::Kernel::convert(l->RefDirection(),V); + if ( l->RefDirection() ) + IfcGeom::Kernel::convert(*l->RefDirection(),V); gp_Ax2d axis(gp_Pnt2d(P.X(),P.Y()),gp_Dir2d(V.X(),V.Y())); trsf.SetTransformation(axis,gp_Ax2d()); @@ -294,10 +294,10 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcObjectPlacement* l, gp_Trsf& t IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement3D*)relplacement,trsf2); trsf.PreMultiply(trsf2); } - if ( current->hasPlacementRelTo() ) { - IfcSchema::IfcObjectPlacement* relto = current->PlacementRelTo(); + if ( current->PlacementRelTo() ) { + IfcSchema::IfcObjectPlacement* relto = *current->PlacementRelTo(); if ( relto->is(IfcSchema::Type::IfcLocalPlacement) ) - current = (IfcSchema::IfcLocalPlacement*)current->PlacementRelTo(); + current = (IfcSchema::IfcLocalPlacement*) relto; else break; } else break; } diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 81c4519283..6c943b1856 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -176,8 +176,8 @@ namespace IfcGeom { // by the parent's context inverse attributes. continue; } - if (context->hasContextType()) { - std::string context_type_lc = context->ContextType(); + if (context->ContextType()) { + std::string context_type_lc = *context->ContextType(); for (std::string::iterator c = context_type_lc.begin(); c != context_type_lc.end(); ++c) { *c = tolower(*c); } @@ -195,8 +195,8 @@ namespace IfcGeom { IfcSchema::IfcGeometricRepresentationContext* context = *it; representations->push(context->RepresentationsInContext()); - if (context->hasPrecision() && context->Precision() < lowest_precision_encountered) { - lowest_precision_encountered = context->Precision(); + if (context->Precision() && *context->Precision() < lowest_precision_encountered) { + lowest_precision_encountered = *context->Precision(); any_precision_encountered = true; } IfcSchema::IfcGeometricRepresentationSubContext::list::ptr sub_contexts = context->HasSubContexts(); diff --git a/src/ifcgeom/IfcGeomRenderStyles.cpp b/src/ifcgeom/IfcGeomRenderStyles.cpp index f8730391d6..e7bc157af1 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.cpp +++ b/src/ifcgeom/IfcGeomRenderStyles.cpp @@ -61,8 +61,8 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr return &(it->second); } SurfaceStyle surface_style; - if (shading_styles.first->hasName()) { - surface_style = SurfaceStyle(surface_style_id, shading_styles.first->Name()); + if (shading_styles.first->Name()) { + surface_style = SurfaceStyle(surface_style_id, *shading_styles.first->Name()); } else { surface_style = SurfaceStyle(surface_style_id); } @@ -72,21 +72,21 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr } if (shading_styles.second->is(IfcSchema::Type::IfcSurfaceStyleRendering)) { IfcSchema::IfcSurfaceStyleRendering* rendering_style = static_cast(shading_styles.second); - if (rendering_style->hasDiffuseColour() && process_colour(rendering_style->DiffuseColour(), rgb)) { + if (rendering_style->DiffuseColour() && process_colour(*rendering_style->DiffuseColour(), rgb)) { SurfaceStyle::ColorComponent diffuse = surface_style.Diffuse().get_value_or(SurfaceStyle::ColorComponent(1,1,1)); surface_style.Diffuse().reset(SurfaceStyle::ColorComponent(diffuse.R() * rgb[0], diffuse.G() * rgb[1], diffuse.B() * rgb[2])); } - if (rendering_style->hasDiffuseTransmissionColour()) { + if (rendering_style->DiffuseTransmissionColour()) { // Not supported } - if (rendering_style->hasReflectionColour()) { + if (rendering_style->ReflectionColour()) { // Not supported } - if (rendering_style->hasSpecularColour() && process_colour(rendering_style->SpecularColour(), rgb)) { + if (rendering_style->SpecularColour() && process_colour(*rendering_style->SpecularColour(), rgb)) { surface_style.Specular().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); } - if (rendering_style->hasSpecularHighlight()) { - IfcSchema::IfcSpecularHighlightSelect* highlight = rendering_style->SpecularHighlight(); + if (rendering_style->SpecularHighlight()) { + IfcSchema::IfcSpecularHighlightSelect* highlight = *rendering_style->SpecularHighlight(); if (highlight->is(IfcSchema::Type::IfcSpecularRoughness)) { double roughness = *((IfcSchema::IfcSpecularRoughness*)highlight); if (roughness >= 1e-9) { @@ -96,11 +96,11 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr surface_style.Specularity().reset(*((IfcSchema::IfcSpecularExponent*)highlight)); } } - if (rendering_style->hasTransmissionColour()) { + if (rendering_style->TransmissionColour()) { // Not supported } - if (rendering_style->hasTransparency()) { - const double d = rendering_style->Transparency(); + if (rendering_style->Transparency()) { + const double d = *rendering_style->Transparency(); surface_style.Transparency().reset(d); } } diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index f9f905d6c5..51e64c3e47 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -724,7 +724,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcSurfaceCurveSweptAreaSolid* l, bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shape& shape) { TopoDS_Wire wire, section1, section2; - bool hasInnerRadius = l->hasInnerRadius(); + bool hasInnerRadius = l->InnerRadius() ? true : false; if (!convert_wire(l->Directrix(), wire)) { return false; @@ -747,7 +747,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shap section1 = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(circle)); if (hasInnerRadius) { - const double r2 = l->InnerRadius() * getValue(GV_LENGTH_UNIT); + const double r2 = (*l->InnerRadius()) * getValue(GV_LENGTH_UNIT); if (r2 < getValue(GV_PRECISION)) { // Subtraction of pipes with small radii is unstable. hasInnerRadius = false; diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 967b4b76e6..177721f61c 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -6501,7 +6501,7 @@ Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcTemplatedEntityList< IfcCompositeCur // Function implementations for IfcActionRequest std::string IfcActionRequest::RequestID() const { return *entity->getArgument(5); } -void IfcActionRequest::setRequestID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcActionRequest::RequestID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcActionRequest::is(Type::Enum v) const { return v == Type::IfcActionRequest || IfcControl::is(v); } Type::Enum IfcActionRequest::type() const { return Type::IfcActionRequest; } Type::Enum IfcActionRequest::Class() { return Type::IfcActionRequest; } @@ -6510,7 +6510,7 @@ IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, IfcOwnerHistory* v2_ // Function implementations for IfcActor IfcActorSelect* IfcActor::TheActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcActor::setTheActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcActor::TheActor(IfcActorSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return entity->getInverse(Type::IfcRelAssignsToActor, 6)->as(); } bool IfcActor::is(Type::Enum v) const { return v == Type::IfcActor || IfcObject::is(v); } Type::Enum IfcActor::type() const { return Type::IfcActor; } @@ -6520,13 +6520,11 @@ IfcActor::IfcActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, bo // Function implementations for IfcActorRole IfcRoleEnum::IfcRoleEnum IfcActorRole::Role() const { return IfcRoleEnum::FromString(*entity->getArgument(0)); } -void IfcActorRole::setRole(IfcRoleEnum::IfcRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcRoleEnum::ToString(v)); } -bool IfcActorRole::hasUserDefinedRole() const { return !entity->getArgument(1)->isNull(); } -std::string IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } -void IfcActorRole::setUserDefinedRole(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcActorRole::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcActorRole::Description() const { return *entity->getArgument(2); } -void IfcActorRole::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcActorRole::Role(IfcRoleEnum::IfcRoleEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcRoleEnum::ToString(v));; } +boost::optional< std::string > IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } +void IfcActorRole::UserDefinedRole(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcActorRole::Description() const { return *entity->getArgument(2); } +void IfcActorRole::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcActorRole::is(Type::Enum v) const { return v == Type::IfcActorRole; } Type::Enum IfcActorRole::type() const { return Type::IfcActorRole; } Type::Enum IfcActorRole::Class() { return Type::IfcActorRole; } @@ -6535,7 +6533,7 @@ IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< st // Function implementations for IfcActuatorType IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorType::PredefinedType() const { return IfcActuatorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcActuatorType::setPredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcActuatorTypeEnum::ToString(v)); } +void IfcActuatorType::PredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcActuatorTypeEnum::ToString(v));; } bool IfcActuatorType::is(Type::Enum v) const { return v == Type::IfcActuatorType || IfcDistributionControlElementType::is(v); } Type::Enum IfcActuatorType::type() const { return Type::IfcActuatorType; } Type::Enum IfcActuatorType::Class() { return Type::IfcActuatorType; } @@ -6543,15 +6541,12 @@ IfcActuatorType::IfcActuatorType(IfcAbstractEntity* e) : IfcDistributionControlE IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAddress -bool IfcAddress::hasPurpose() const { return !entity->getArgument(0)->isNull(); } -IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddress::Purpose() const { return IfcAddressTypeEnum::FromString(*entity->getArgument(0)); } -void IfcAddress::setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcAddressTypeEnum::ToString(v)); } -bool IfcAddress::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcAddress::Description() const { return *entity->getArgument(1); } -void IfcAddress::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAddress::hasUserDefinedPurpose() const { return !entity->getArgument(2)->isNull(); } -std::string IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } -void IfcAddress::setUserDefinedPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > IfcAddress::Purpose() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return IfcAddressTypeEnum::FromString(*arg); } } +void IfcAddress::Purpose(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v,IfcAddressTypeEnum::ToString(*v));; } else { w->setArgument(0); } } +boost::optional< std::string > IfcAddress::Description() const { return *entity->getArgument(1); } +void IfcAddress::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } +void IfcAddress::UserDefinedPurpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcPerson::list::ptr IfcAddress::OfPerson() const { return entity->getInverse(Type::IfcPerson, 7)->as(); } IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return entity->getInverse(Type::IfcOrganization, 4)->as(); } bool IfcAddress::is(Type::Enum v) const { return v == Type::IfcAddress; } @@ -6562,7 +6557,7 @@ IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > // Function implementations for IfcAirTerminalBoxType IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxType::PredefinedType() const { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAirTerminalBoxType::setPredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAirTerminalBoxTypeEnum::ToString(v)); } +void IfcAirTerminalBoxType::PredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAirTerminalBoxTypeEnum::ToString(v));; } bool IfcAirTerminalBoxType::is(Type::Enum v) const { return v == Type::IfcAirTerminalBoxType || IfcFlowControllerType::is(v); } Type::Enum IfcAirTerminalBoxType::type() const { return Type::IfcAirTerminalBoxType; } Type::Enum IfcAirTerminalBoxType::Class() { return Type::IfcAirTerminalBoxType; } @@ -6571,7 +6566,7 @@ IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcAirTerminalType IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalType::PredefinedType() const { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAirTerminalType::setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAirTerminalTypeEnum::ToString(v)); } +void IfcAirTerminalType::PredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAirTerminalTypeEnum::ToString(v));; } bool IfcAirTerminalType::is(Type::Enum v) const { return v == Type::IfcAirTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcAirTerminalType::type() const { return Type::IfcAirTerminalType; } Type::Enum IfcAirTerminalType::Class() { return Type::IfcAirTerminalType; } @@ -6580,7 +6575,7 @@ IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcAirToAirHeatRecoveryType IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryType::PredefinedType() const { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAirToAirHeatRecoveryType::setPredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAirToAirHeatRecoveryTypeEnum::ToString(v)); } +void IfcAirToAirHeatRecoveryType::PredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAirToAirHeatRecoveryTypeEnum::ToString(v));; } bool IfcAirToAirHeatRecoveryType::is(Type::Enum v) const { return v == Type::IfcAirToAirHeatRecoveryType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcAirToAirHeatRecoveryType::type() const { return Type::IfcAirToAirHeatRecoveryType; } Type::Enum IfcAirToAirHeatRecoveryType::Class() { return Type::IfcAirToAirHeatRecoveryType; } @@ -6589,7 +6584,7 @@ IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId // Function implementations for IfcAlarmType IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmType::PredefinedType() const { return IfcAlarmTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAlarmType::setPredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAlarmTypeEnum::ToString(v)); } +void IfcAlarmType::PredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAlarmTypeEnum::ToString(v));; } bool IfcAlarmType::is(Type::Enum v) const { return v == Type::IfcAlarmType || IfcDistributionControlElementType::is(v); } Type::Enum IfcAlarmType::type() const { return Type::IfcAlarmType; } Type::Enum IfcAlarmType::Class() { return Type::IfcAlarmType; } @@ -6609,21 +6604,20 @@ bool IfcAnnotation::is(Type::Enum v) const { return v == Type::IfcAnnotation || Type::Enum IfcAnnotation::type() const { return Type::IfcAnnotation; } Type::Enum IfcAnnotation::Class() { return Type::IfcAnnotation; } IfcAnnotation::IfcAnnotation(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationCurveOccurrence bool IfcAnnotationCurveOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationCurveOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationCurveOccurrence::type() const { return Type::IfcAnnotationCurveOccurrence; } Type::Enum IfcAnnotationCurveOccurrence::Class() { return Type::IfcAnnotationCurveOccurrence; } IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationCurveOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillArea IfcCurve* IfcAnnotationFillArea::OuterBoundary() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcAnnotationFillArea::setOuterBoundary(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAnnotationFillArea::hasInnerBoundaries() const { return !entity->getArgument(1)->isNull(); } -IfcTemplatedEntityList< IfcCurve >::ptr IfcAnnotationFillArea::InnerBoundaries() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcAnnotationFillArea::setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcAnnotationFillArea::OuterBoundary(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > IfcAnnotationFillArea::InnerBoundaries() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcAnnotationFillArea::InnerBoundaries(boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,(*v)->generalize());; } else { w->setArgument(1); } } bool IfcAnnotationFillArea::is(Type::Enum v) const { return v == Type::IfcAnnotationFillArea || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcAnnotationFillArea::type() const { return Type::IfcAnnotationFillArea; } Type::Enum IfcAnnotationFillArea::Class() { return Type::IfcAnnotationFillArea; } @@ -6631,67 +6625,64 @@ IfcAnnotationFillArea::IfcAnnotationFillArea(IfcAbstractEntity* e) : IfcGeometri IfcAnnotationFillArea::IfcAnnotationFillArea(IfcCurve* v1_OuterBoundary, boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OuterBoundary)); if (v2_InnerBoundaries) { e->setArgument(1,(*v2_InnerBoundaries)->generalize()); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillAreaOccurrence -bool IfcAnnotationFillAreaOccurrence::hasFillStyleTarget() const { return !entity->getArgument(3)->isNull(); } -IfcPoint* IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { return (IfcPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcAnnotationFillAreaOccurrence::setFillStyleTarget(IfcPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcAnnotationFillAreaOccurrence::hasGlobalOrLocal() const { return !entity->getArgument(4)->isNull(); } -IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { return IfcGlobalOrLocalEnum::FromString(*entity->getArgument(4)); } -void IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcGlobalOrLocalEnum::ToString(v)); } +boost::optional< IfcPoint* > IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAnnotationFillAreaOccurrence::FillStyleTarget(boost::optional< IfcPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return IfcGlobalOrLocalEnum::FromString(*arg); } } +void IfcAnnotationFillAreaOccurrence::GlobalOrLocal(boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v,IfcGlobalOrLocalEnum::ToString(*v));; } else { w->setArgument(4); } } bool IfcAnnotationFillAreaOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationFillAreaOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationFillAreaOccurrence::type() const { return Type::IfcAnnotationFillAreaOccurrence; } Type::Enum IfcAnnotationFillAreaOccurrence::Class() { return Type::IfcAnnotationFillAreaOccurrence; } IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillAreaOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_FillStyleTarget)); if (v5_GlobalOrLocal) { e->setArgument(4,*v5_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(*v5_GlobalOrLocal)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, boost::optional< IfcPoint* > v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_FillStyleTarget) { e->setArgument(3,(*v4_FillStyleTarget)); } else { e->setArgument(3); } if (v5_GlobalOrLocal) { e->setArgument(4,*v5_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(*v5_GlobalOrLocal)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationOccurrence bool IfcAnnotationOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationOccurrence || IfcStyledItem::is(v); } Type::Enum IfcAnnotationOccurrence::type() const { return Type::IfcAnnotationOccurrence; } Type::Enum IfcAnnotationOccurrence::Class() { return Type::IfcAnnotationOccurrence; } IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcAbstractEntity* e) : IfcStyledItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcStyledItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationOccurrence::IfcAnnotationOccurrence(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcStyledItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationSurface IfcGeometricRepresentationItem* IfcAnnotationSurface::Item() const { return (IfcGeometricRepresentationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcAnnotationSurface::setItem(IfcGeometricRepresentationItem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAnnotationSurface::hasTextureCoordinates() const { return !entity->getArgument(1)->isNull(); } -IfcTextureCoordinate* IfcAnnotationSurface::TextureCoordinates() const { return (IfcTextureCoordinate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAnnotationSurface::setTextureCoordinates(IfcTextureCoordinate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcAnnotationSurface::Item(IfcGeometricRepresentationItem* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcTextureCoordinate* > IfcAnnotationSurface::TextureCoordinates() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcTextureCoordinate*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAnnotationSurface::TextureCoordinates(boost::optional< IfcTextureCoordinate* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcAnnotationSurface::is(Type::Enum v) const { return v == Type::IfcAnnotationSurface || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcAnnotationSurface::type() const { return Type::IfcAnnotationSurface; } Type::Enum IfcAnnotationSurface::Class() { return Type::IfcAnnotationSurface; } IfcAnnotationSurface::IfcAnnotationSurface(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationSurface::IfcAnnotationSurface(IfcGeometricRepresentationItem* v1_Item, IfcTextureCoordinate* v2_TextureCoordinates) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_TextureCoordinates)); entity = e; EntityBuffer::Add(this); } +IfcAnnotationSurface::IfcAnnotationSurface(IfcGeometricRepresentationItem* v1_Item, boost::optional< IfcTextureCoordinate* > v2_TextureCoordinates) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); if (v2_TextureCoordinates) { e->setArgument(1,(*v2_TextureCoordinates)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationSurfaceOccurrence bool IfcAnnotationSurfaceOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationSurfaceOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationSurfaceOccurrence::type() const { return Type::IfcAnnotationSurfaceOccurrence; } Type::Enum IfcAnnotationSurfaceOccurrence::Class() { return Type::IfcAnnotationSurfaceOccurrence; } IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSurfaceOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationSymbolOccurrence bool IfcAnnotationSymbolOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationSymbolOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationSymbolOccurrence::type() const { return Type::IfcAnnotationSymbolOccurrence; } Type::Enum IfcAnnotationSymbolOccurrence::Class() { return Type::IfcAnnotationSymbolOccurrence; } IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSymbolOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationTextOccurrence bool IfcAnnotationTextOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationTextOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationTextOccurrence::type() const { return Type::IfcAnnotationTextOccurrence; } Type::Enum IfcAnnotationTextOccurrence::Class() { return Type::IfcAnnotationTextOccurrence; } IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationTextOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApplication IfcOrganization* IfcApplication::ApplicationDeveloper() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcApplication::setApplicationDeveloper(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcApplication::ApplicationDeveloper(IfcOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcApplication::Version() const { return *entity->getArgument(1); } -void IfcApplication::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcApplication::Version(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } std::string IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } -void IfcApplication::setApplicationFullName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcApplication::ApplicationFullName(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } std::string IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } -void IfcApplication::setApplicationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcApplication::ApplicationIdentifier(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcApplication::is(Type::Enum v) const { return v == Type::IfcApplication; } Type::Enum IfcApplication::type() const { return Type::IfcApplication; } Type::Enum IfcApplication::Class() { return Type::IfcApplication; } @@ -6699,24 +6690,18 @@ IfcApplication::IfcApplication(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValue -bool IfcAppliedValue::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcAppliedValue::Name() const { return *entity->getArgument(0); } -void IfcAppliedValue::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAppliedValue::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcAppliedValue::Description() const { return *entity->getArgument(1); } -void IfcAppliedValue::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAppliedValue::hasAppliedValue() const { return !entity->getArgument(2)->isNull(); } -IfcAppliedValueSelect* IfcAppliedValue::AppliedValue() const { return (IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcAppliedValue::hasUnitBasis() const { return !entity->getArgument(3)->isNull(); } -IfcMeasureWithUnit* IfcAppliedValue::UnitBasis() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcAppliedValue::setUnitBasis(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcAppliedValue::hasApplicableDate() const { return !entity->getArgument(4)->isNull(); } -IfcDateTimeSelect* IfcAppliedValue::ApplicableDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcAppliedValue::setApplicableDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcAppliedValue::hasFixedUntilDate() const { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect* IfcAppliedValue::FixedUntilDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcAppliedValue::setFixedUntilDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< std::string > IfcAppliedValue::Name() const { return *entity->getArgument(0); } +void IfcAppliedValue::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcAppliedValue::Description() const { return *entity->getArgument(1); } +void IfcAppliedValue::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcAppliedValueSelect* > IfcAppliedValue::AppliedValue() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAppliedValue::AppliedValue(boost::optional< IfcAppliedValueSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcMeasureWithUnit* > IfcAppliedValue::UnitBasis() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAppliedValue::UnitBasis(boost::optional< IfcMeasureWithUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcDateTimeSelect* > IfcAppliedValue::ApplicableDate() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAppliedValue::ApplicableDate(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcDateTimeSelect* > IfcAppliedValue::FixedUntilDate() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAppliedValue::FixedUntilDate(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcReferencesValueDocument::list::ptr IfcAppliedValue::ValuesReferenced() const { return entity->getInverse(Type::IfcReferencesValueDocument, 1)->as(); } IfcAppliedValueRelationship::list::ptr IfcAppliedValue::ValueOfComponents() const { return entity->getInverse(Type::IfcAppliedValueRelationship, 0)->as(); } IfcAppliedValueRelationship::list::ptr IfcAppliedValue::IsComponentIn() const { return entity->getInverse(Type::IfcAppliedValueRelationship, 1)->as(); } @@ -6724,21 +6709,19 @@ bool IfcAppliedValue::is(Type::Enum v) const { return v == Type::IfcAppliedValue Type::Enum IfcAppliedValue::type() const { return Type::IfcAppliedValue; } Type::Enum IfcAppliedValue::Class() { return Type::IfcAppliedValue; } IfcAppliedValue::IfcAppliedValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); e->setArgument(4,(v5_ApplicableDate)); e->setArgument(5,(v6_FixedUntilDate)); entity = e; EntityBuffer::Add(this); } +IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< IfcDateTimeSelect* > v5_ApplicableDate, boost::optional< IfcDateTimeSelect* > v6_FixedUntilDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } if (v4_UnitBasis) { e->setArgument(3,(*v4_UnitBasis)); } else { e->setArgument(3); } if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValueRelationship IfcAppliedValue* IfcAppliedValueRelationship::ComponentOfTotal() const { return (IfcAppliedValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcAppliedValueRelationship::setComponentOfTotal(IfcAppliedValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcAppliedValueRelationship::ComponentOfTotal(IfcAppliedValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcAppliedValueRelationship::Components() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcAppliedValueRelationship::setComponents(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcAppliedValueRelationship::Components(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValueRelationship::ArithmeticOperator() const { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(2)); } -void IfcAppliedValueRelationship::setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcArithmeticOperatorEnum::ToString(v)); } -bool IfcAppliedValueRelationship::hasName() const { return !entity->getArgument(3)->isNull(); } -std::string IfcAppliedValueRelationship::Name() const { return *entity->getArgument(3); } -void IfcAppliedValueRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcAppliedValueRelationship::hasDescription() const { return !entity->getArgument(4)->isNull(); } -std::string IfcAppliedValueRelationship::Description() const { return *entity->getArgument(4); } -void IfcAppliedValueRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcAppliedValueRelationship::ArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcArithmeticOperatorEnum::ToString(v));; } +boost::optional< std::string > IfcAppliedValueRelationship::Name() const { return *entity->getArgument(3); } +void IfcAppliedValueRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcAppliedValueRelationship::Description() const { return *entity->getArgument(4); } +void IfcAppliedValueRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcAppliedValueRelationship::is(Type::Enum v) const { return v == Type::IfcAppliedValueRelationship; } Type::Enum IfcAppliedValueRelationship::type() const { return Type::IfcAppliedValueRelationship; } Type::Enum IfcAppliedValueRelationship::Class() { return Type::IfcAppliedValueRelationship; } @@ -6746,24 +6729,20 @@ IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAbstractEntity* e) : IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ComponentOfTotal)); e->setArgument(1,(v2_Components)->generalize()); e->setArgument(2,v3_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(v3_ArithmeticOperator)); if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApproval -bool IfcApproval::hasDescription() const { return !entity->getArgument(0)->isNull(); } -std::string IfcApproval::Description() const { return *entity->getArgument(0); } -void IfcApproval::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcApproval::Description() const { return *entity->getArgument(0); } +void IfcApproval::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcDateTimeSelect* IfcApproval::ApprovalDateTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcApproval::setApprovalDateTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcApproval::hasApprovalStatus() const { return !entity->getArgument(2)->isNull(); } -std::string IfcApproval::ApprovalStatus() const { return *entity->getArgument(2); } -void IfcApproval::setApprovalStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcApproval::hasApprovalLevel() const { return !entity->getArgument(3)->isNull(); } -std::string IfcApproval::ApprovalLevel() const { return *entity->getArgument(3); } -void IfcApproval::setApprovalLevel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcApproval::hasApprovalQualifier() const { return !entity->getArgument(4)->isNull(); } -std::string IfcApproval::ApprovalQualifier() const { return *entity->getArgument(4); } -void IfcApproval::setApprovalQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcApproval::ApprovalDateTime(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcApproval::ApprovalStatus() const { return *entity->getArgument(2); } +void IfcApproval::ApprovalStatus(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcApproval::ApprovalLevel() const { return *entity->getArgument(3); } +void IfcApproval::ApprovalLevel(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcApproval::ApprovalQualifier() const { return *entity->getArgument(4); } +void IfcApproval::ApprovalQualifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } std::string IfcApproval::Name() const { return *entity->getArgument(5); } -void IfcApproval::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcApproval::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } std::string IfcApproval::Identifier() const { return *entity->getArgument(6); } -void IfcApproval::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcApproval::Identifier(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcApprovalActorRelationship::list::ptr IfcApproval::Actors() const { return entity->getInverse(Type::IfcApprovalActorRelationship, 1)->as(); } IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return entity->getInverse(Type::IfcApprovalRelationship, 0)->as(); } IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return entity->getInverse(Type::IfcApprovalRelationship, 1)->as(); } @@ -6775,11 +6754,11 @@ IfcApproval::IfcApproval(boost::optional< std::string > v1_Description, IfcDateT // Function implementations for IfcApprovalActorRelationship IfcActorSelect* IfcApprovalActorRelationship::Actor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcApprovalActorRelationship::setActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcApprovalActorRelationship::Actor(IfcActorSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcApproval* IfcApprovalActorRelationship::Approval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcApprovalActorRelationship::setApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcApprovalActorRelationship::Approval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcActorRole* IfcApprovalActorRelationship::Role() const { return (IfcActorRole*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcApprovalActorRelationship::setRole(IfcActorRole* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcApprovalActorRelationship::Role(IfcActorRole* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcApprovalActorRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalActorRelationship; } Type::Enum IfcApprovalActorRelationship::type() const { return Type::IfcApprovalActorRelationship; } Type::Enum IfcApprovalActorRelationship::Class() { return Type::IfcApprovalActorRelationship; } @@ -6788,9 +6767,9 @@ IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcActorSelect* v1_Ac // Function implementations for IfcApprovalPropertyRelationship IfcTemplatedEntityList< IfcProperty >::ptr IfcApprovalPropertyRelationship::ApprovedProperties() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcApprovalPropertyRelationship::setApprovedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcApprovalPropertyRelationship::ApprovedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } IfcApproval* IfcApprovalPropertyRelationship::Approval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcApprovalPropertyRelationship::setApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcApprovalPropertyRelationship::Approval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcApprovalPropertyRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalPropertyRelationship; } Type::Enum IfcApprovalPropertyRelationship::type() const { return Type::IfcApprovalPropertyRelationship; } Type::Enum IfcApprovalPropertyRelationship::Class() { return Type::IfcApprovalPropertyRelationship; } @@ -6799,14 +6778,13 @@ IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(IfcTemplatedEnt // Function implementations for IfcApprovalRelationship IfcApproval* IfcApprovalRelationship::RelatedApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcApprovalRelationship::setRelatedApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcApprovalRelationship::RelatedApproval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcApproval* IfcApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcApprovalRelationship::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcApprovalRelationship::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcApprovalRelationship::Description() const { return *entity->getArgument(2); } -void IfcApprovalRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcApprovalRelationship::RelatingApproval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcApprovalRelationship::Description() const { return *entity->getArgument(2); } +void IfcApprovalRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } std::string IfcApprovalRelationship::Name() const { return *entity->getArgument(3); } -void IfcApprovalRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcApprovalRelationship::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::type() const { return Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::Class() { return Type::IfcApprovalRelationship; } @@ -6815,7 +6793,7 @@ IfcApprovalRelationship::IfcApprovalRelationship(IfcApproval* v1_RelatedApproval // Function implementations for IfcArbitraryClosedProfileDef IfcCurve* IfcArbitraryClosedProfileDef::OuterCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcArbitraryClosedProfileDef::setOuterCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcArbitraryClosedProfileDef::OuterCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcArbitraryClosedProfileDef::is(Type::Enum v) const { return v == Type::IfcArbitraryClosedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcArbitraryClosedProfileDef::type() const { return Type::IfcArbitraryClosedProfileDef; } Type::Enum IfcArbitraryClosedProfileDef::Class() { return Type::IfcArbitraryClosedProfileDef; } @@ -6824,7 +6802,7 @@ IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::I // Function implementations for IfcArbitraryOpenProfileDef IfcBoundedCurve* IfcArbitraryOpenProfileDef::Curve() const { return (IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcArbitraryOpenProfileDef::setCurve(IfcBoundedCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcArbitraryOpenProfileDef::Curve(IfcBoundedCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcArbitraryOpenProfileDef::is(Type::Enum v) const { return v == Type::IfcArbitraryOpenProfileDef || IfcProfileDef::is(v); } Type::Enum IfcArbitraryOpenProfileDef::type() const { return Type::IfcArbitraryOpenProfileDef; } Type::Enum IfcArbitraryOpenProfileDef::Class() { return Type::IfcArbitraryOpenProfileDef; } @@ -6833,7 +6811,7 @@ IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcPr // Function implementations for IfcArbitraryProfileDefWithVoids IfcTemplatedEntityList< IfcCurve >::ptr IfcArbitraryProfileDefWithVoids::InnerCurves() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcArbitraryProfileDefWithVoids::setInnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcArbitraryProfileDefWithVoids::InnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcArbitraryProfileDefWithVoids::is(Type::Enum v) const { return v == Type::IfcArbitraryProfileDefWithVoids || IfcArbitraryClosedProfileDef::is(v); } Type::Enum IfcArbitraryProfileDefWithVoids::type() const { return Type::IfcArbitraryProfileDefWithVoids; } Type::Enum IfcArbitraryProfileDefWithVoids::Class() { return Type::IfcArbitraryProfileDefWithVoids; } @@ -6842,23 +6820,23 @@ IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeE // Function implementations for IfcAsset std::string IfcAsset::AssetID() const { return *entity->getArgument(5); } -void IfcAsset::setAssetID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcAsset::AssetID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcCostValue* IfcAsset::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcAsset::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcAsset::OriginalValue(IfcCostValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcCostValue* IfcAsset::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcAsset::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcAsset::CurrentValue(IfcCostValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcCostValue* IfcAsset::TotalReplacementCost() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcAsset::setTotalReplacementCost(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcAsset::TotalReplacementCost(IfcCostValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } IfcActorSelect* IfcAsset::Owner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcAsset::setOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcAsset::Owner(IfcActorSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } IfcActorSelect* IfcAsset::User() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcAsset::setUser(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcAsset::User(IfcActorSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } IfcPerson* IfcAsset::ResponsiblePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcAsset::setResponsiblePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcAsset::ResponsiblePerson(IfcPerson* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } IfcCalendarDate* IfcAsset::IncorporationDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcAsset::setIncorporationDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcAsset::IncorporationDate(IfcCalendarDate* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } IfcCostValue* IfcAsset::DepreciatedValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } -void IfcAsset::setDepreciatedValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +void IfcAsset::DepreciatedValue(IfcCostValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v); } bool IfcAsset::is(Type::Enum v) const { return v == Type::IfcAsset || IfcGroup::is(v); } Type::Enum IfcAsset::type() const { return Type::IfcAsset; } Type::Enum IfcAsset::Class() { return Type::IfcAsset; } @@ -6867,16 +6845,13 @@ IfcAsset::IfcAsset(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, bo // Function implementations for IfcAsymmetricIShapeProfileDef double IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !entity->getArgument(9)->isNull(); } -double IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !entity->getArgument(10)->isNull(); } -double IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcAsymmetricIShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(11)->isNull(); } -double IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } -void IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcAsymmetricIShapeProfileDef::TopFlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< double > IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } +void IfcAsymmetricIShapeProfileDef::TopFlangeThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } +void IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } +void IfcAsymmetricIShapeProfileDef::CentreOfGravityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcAsymmetricIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcAsymmetricIShapeProfileDef || IfcIShapeProfileDef::is(v); } Type::Enum IfcAsymmetricIShapeProfileDef::type() const { return Type::IfcAsymmetricIShapeProfileDef; } Type::Enum IfcAsymmetricIShapeProfileDef::Class() { return Type::IfcAsymmetricIShapeProfileDef; } @@ -6884,49 +6859,45 @@ IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcAbstractEntity* IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_CentreOfGravityInY) : IfcIShapeProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis1Placement -bool IfcAxis1Placement::hasAxis() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis1Placement::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAxis1Placement::setAxis(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcDirection* > IfcAxis1Placement::Axis() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis1Placement::Axis(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcAxis1Placement::is(Type::Enum v) const { return v == Type::IfcAxis1Placement || IfcPlacement::is(v); } Type::Enum IfcAxis1Placement::type() const { return Type::IfcAxis1Placement; } Type::Enum IfcAxis1Placement::Class() { return Type::IfcAxis1Placement; } IfcAxis1Placement::IfcAxis1Placement(IfcAbstractEntity* e) : IfcPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAxis1Placement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAxis1Placement::IfcAxis1Placement(IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_Axis)); entity = e; EntityBuffer::Add(this); } +IfcAxis1Placement::IfcAxis1Placement(IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); if (v2_Axis) { e->setArgument(1,(*v2_Axis)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis2Placement2D -bool IfcAxis2Placement2D::hasRefDirection() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement2D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAxis2Placement2D::setRefDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcDirection* > IfcAxis2Placement2D::RefDirection() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis2Placement2D::RefDirection(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcAxis2Placement2D::is(Type::Enum v) const { return v == Type::IfcAxis2Placement2D || IfcPlacement::is(v); } Type::Enum IfcAxis2Placement2D::type() const { return Type::IfcAxis2Placement2D; } Type::Enum IfcAxis2Placement2D::Class() { return Type::IfcAxis2Placement2D; } IfcAxis2Placement2D::IfcAxis2Placement2D(IfcAbstractEntity* e) : IfcPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAxis2Placement2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAxis2Placement2D::IfcAxis2Placement2D(IfcCartesianPoint* v1_Location, IfcDirection* v2_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcAxis2Placement2D::IfcAxis2Placement2D(IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); if (v2_RefDirection) { e->setArgument(1,(*v2_RefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis2Placement3D -bool IfcAxis2Placement3D::hasAxis() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement3D::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAxis2Placement3D::setAxis(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAxis2Placement3D::hasRefDirection() const { return !entity->getArgument(2)->isNull(); } -IfcDirection* IfcAxis2Placement3D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcAxis2Placement3D::setRefDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcDirection* > IfcAxis2Placement3D::Axis() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis2Placement3D::Axis(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcDirection* > IfcAxis2Placement3D::RefDirection() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis2Placement3D::RefDirection(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcAxis2Placement3D::is(Type::Enum v) const { return v == Type::IfcAxis2Placement3D || IfcPlacement::is(v); } Type::Enum IfcAxis2Placement3D::type() const { return Type::IfcAxis2Placement3D; } Type::Enum IfcAxis2Placement3D::Class() { return Type::IfcAxis2Placement3D; } IfcAxis2Placement3D::IfcAxis2Placement3D(IfcAbstractEntity* e) : IfcPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAxis2Placement3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAxis2Placement3D::IfcAxis2Placement3D(IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis, IfcDirection* v3_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_Axis)); e->setArgument(2,(v3_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcAxis2Placement3D::IfcAxis2Placement3D(IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis, boost::optional< IfcDirection* > v3_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); if (v2_Axis) { e->setArgument(1,(*v2_Axis)); } else { e->setArgument(1); } if (v3_RefDirection) { e->setArgument(2,(*v3_RefDirection)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBSplineCurve int IfcBSplineCurve::Degree() const { return *entity->getArgument(0); } -void IfcBSplineCurve::setDegree(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcBSplineCurve::Degree(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcBSplineCurve::ControlPointsList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcBSplineCurve::setControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcBSplineCurve::ControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } IfcBSplineCurveForm::IfcBSplineCurveForm IfcBSplineCurve::CurveForm() const { return IfcBSplineCurveForm::FromString(*entity->getArgument(2)); } -void IfcBSplineCurve::setCurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcBSplineCurveForm::ToString(v)); } +void IfcBSplineCurve::CurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcBSplineCurveForm::ToString(v));; } bool IfcBSplineCurve::ClosedCurve() const { return *entity->getArgument(3); } -void IfcBSplineCurve::setClosedCurve(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcBSplineCurve::ClosedCurve(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcBSplineCurve::SelfIntersect() const { return *entity->getArgument(4); } -void IfcBSplineCurve::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcBSplineCurve::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcBSplineCurve::is(Type::Enum v) const { return v == Type::IfcBSplineCurve || IfcBoundedCurve::is(v); } Type::Enum IfcBSplineCurve::type() const { return Type::IfcBSplineCurve; } Type::Enum IfcBSplineCurve::Class() { return Type::IfcBSplineCurve; } @@ -6938,11 +6909,11 @@ bool IfcBeam::is(Type::Enum v) const { return v == Type::IfcBeam || IfcBuildingE Type::Enum IfcBeam::type() const { return Type::IfcBeam; } Type::Enum IfcBeam::Class() { return Type::IfcBeam; } IfcBeam::IfcBeam(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeam::IfcBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBeam::IfcBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamType IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamType::PredefinedType() const { return IfcBeamTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBeamType::setPredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBeamTypeEnum::ToString(v)); } +void IfcBeamType::PredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBeamTypeEnum::ToString(v));; } bool IfcBeamType::is(Type::Enum v) const { return v == Type::IfcBeamType || IfcBuildingElementType::is(v); } Type::Enum IfcBeamType::type() const { return Type::IfcBeamType; } Type::Enum IfcBeamType::Class() { return Type::IfcBeamType; } @@ -6958,22 +6929,22 @@ IfcBezierCurve::IfcBezierCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesi // Function implementations for IfcBlobTexture std::string IfcBlobTexture::RasterFormat() const { return *entity->getArgument(4); } -void IfcBlobTexture::setRasterFormat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcBlobTexture::RasterFormat(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcBlobTexture::RasterCode() const { return *entity->getArgument(5); } -void IfcBlobTexture::setRasterCode(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcBlobTexture::RasterCode(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcBlobTexture::is(Type::Enum v) const { return v == Type::IfcBlobTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcBlobTexture::type() const { return Type::IfcBlobTexture; } Type::Enum IfcBlobTexture::Class() { return Type::IfcBlobTexture; } IfcBlobTexture::IfcBlobTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_RasterFormat)); e->setArgument(5,(v6_RasterCode)); entity = e; EntityBuffer::Add(this); } +IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } e->setArgument(4,(v5_RasterFormat)); e->setArgument(5,(v6_RasterCode)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlock double IfcBlock::XLength() const { return *entity->getArgument(1); } -void IfcBlock::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBlock::XLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcBlock::YLength() const { return *entity->getArgument(2); } -void IfcBlock::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBlock::YLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcBlock::ZLength() const { return *entity->getArgument(3); } -void IfcBlock::setZLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcBlock::ZLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcBlock::is(Type::Enum v) const { return v == Type::IfcBlock || IfcCsgPrimitive3D::is(v); } Type::Enum IfcBlock::type() const { return Type::IfcBlock; } Type::Enum IfcBlock::Class() { return Type::IfcBlock; } @@ -6982,7 +6953,7 @@ IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, double v2_XLength, double v // Function implementations for IfcBoilerType IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerType::PredefinedType() const { return IfcBoilerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBoilerType::setPredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBoilerTypeEnum::ToString(v)); } +void IfcBoilerType::PredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBoilerTypeEnum::ToString(v));; } bool IfcBoilerType::is(Type::Enum v) const { return v == Type::IfcBoilerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcBoilerType::type() const { return Type::IfcBoilerType; } Type::Enum IfcBoilerType::Class() { return Type::IfcBoilerType; } @@ -6998,11 +6969,11 @@ IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBoolea // Function implementations for IfcBooleanResult IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() const { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } -void IfcBooleanResult::setOperator(IfcBooleanOperator::IfcBooleanOperator v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcBooleanOperator::ToString(v)); } +void IfcBooleanResult::Operator(IfcBooleanOperator::IfcBooleanOperator v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcBooleanOperator::ToString(v));; } IfcBooleanOperand* IfcBooleanResult::FirstOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcBooleanResult::setFirstOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBooleanResult::FirstOperand(IfcBooleanOperand* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcBooleanOperand* IfcBooleanResult::SecondOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBooleanResult::setSecondOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBooleanResult::SecondOperand(IfcBooleanOperand* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcBooleanResult::is(Type::Enum v) const { return v == Type::IfcBooleanResult || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBooleanResult::type() const { return Type::IfcBooleanResult; } Type::Enum IfcBooleanResult::Class() { return Type::IfcBooleanResult; } @@ -7010,9 +6981,8 @@ IfcBooleanResult::IfcBooleanResult(IfcAbstractEntity* e) : IfcGeometricRepresent IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCondition -bool IfcBoundaryCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } -void IfcBoundaryCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } +void IfcBoundaryCondition::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcBoundaryCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::type() const { return Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::Class() { return Type::IfcBoundaryCondition; } @@ -7020,24 +6990,18 @@ IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntity* e) : IfcUtil::IfcB IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryEdgeCondition -bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthX() const { return !entity->getArgument(1)->isNull(); } -double IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { return *entity->getArgument(1); } -void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthY() const { return !entity->getArgument(2)->isNull(); } -double IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { return *entity->getArgument(2); } -void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthZ() const { return !entity->getArgument(3)->isNull(); } -double IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { return *entity->getArgument(3); } -void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !entity->getArgument(4)->isNull(); } -double IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !entity->getArgument(5)->isNull(); } -double IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !entity->getArgument(6)->isNull(); } -double IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { return *entity->getArgument(1); } +void IfcBoundaryEdgeCondition::LinearStiffnessByLengthX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { return *entity->getArgument(2); } +void IfcBoundaryEdgeCondition::LinearStiffnessByLengthY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { return *entity->getArgument(3); } +void IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } +void IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } +void IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } +void IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcBoundaryEdgeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryEdgeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryEdgeCondition::type() const { return Type::IfcBoundaryEdgeCondition; } Type::Enum IfcBoundaryEdgeCondition::Class() { return Type::IfcBoundaryEdgeCondition; } @@ -7045,15 +7009,12 @@ IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcAbstractEntity* e) : IfcBo IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByLengthX, boost::optional< double > v3_LinearStiffnessByLengthY, boost::optional< double > v4_LinearStiffnessByLengthZ, boost::optional< double > v5_RotationalStiffnessByLengthX, boost::optional< double > v6_RotationalStiffnessByLengthY, boost::optional< double > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByLengthX) { e->setArgument(1,(*v2_LinearStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByLengthY) { e->setArgument(2,(*v3_LinearStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByLengthZ) { e->setArgument(3,(*v4_LinearStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryFaceCondition -bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaX() const { return !entity->getArgument(1)->isNull(); } -double IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { return *entity->getArgument(1); } -void IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaY() const { return !entity->getArgument(2)->isNull(); } -double IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { return *entity->getArgument(2); } -void IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaZ() const { return !entity->getArgument(3)->isNull(); } -double IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { return *entity->getArgument(3); } -void IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { return *entity->getArgument(1); } +void IfcBoundaryFaceCondition::LinearStiffnessByAreaX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { return *entity->getArgument(2); } +void IfcBoundaryFaceCondition::LinearStiffnessByAreaY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { return *entity->getArgument(3); } +void IfcBoundaryFaceCondition::LinearStiffnessByAreaZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcBoundaryFaceCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryFaceCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryFaceCondition::type() const { return Type::IfcBoundaryFaceCondition; } Type::Enum IfcBoundaryFaceCondition::Class() { return Type::IfcBoundaryFaceCondition; } @@ -7061,24 +7022,18 @@ IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcAbstractEntity* e) : IfcBo IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByAreaX, boost::optional< double > v3_LinearStiffnessByAreaY, boost::optional< double > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByAreaX) { e->setArgument(1,(*v2_LinearStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByAreaY) { e->setArgument(2,(*v3_LinearStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByAreaZ) { e->setArgument(3,(*v4_LinearStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeCondition -bool IfcBoundaryNodeCondition::hasLinearStiffnessX() const { return !entity->getArgument(1)->isNull(); } -double IfcBoundaryNodeCondition::LinearStiffnessX() const { return *entity->getArgument(1); } -void IfcBoundaryNodeCondition::setLinearStiffnessX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryNodeCondition::hasLinearStiffnessY() const { return !entity->getArgument(2)->isNull(); } -double IfcBoundaryNodeCondition::LinearStiffnessY() const { return *entity->getArgument(2); } -void IfcBoundaryNodeCondition::setLinearStiffnessY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryNodeCondition::hasLinearStiffnessZ() const { return !entity->getArgument(3)->isNull(); } -double IfcBoundaryNodeCondition::LinearStiffnessZ() const { return *entity->getArgument(3); } -void IfcBoundaryNodeCondition::setLinearStiffnessZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !entity->getArgument(4)->isNull(); } -double IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } -void IfcBoundaryNodeCondition::setRotationalStiffnessX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !entity->getArgument(5)->isNull(); } -double IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } -void IfcBoundaryNodeCondition::setRotationalStiffnessY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !entity->getArgument(6)->isNull(); } -double IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } -void IfcBoundaryNodeCondition::setRotationalStiffnessZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcBoundaryNodeCondition::LinearStiffnessX() const { return *entity->getArgument(1); } +void IfcBoundaryNodeCondition::LinearStiffnessX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcBoundaryNodeCondition::LinearStiffnessY() const { return *entity->getArgument(2); } +void IfcBoundaryNodeCondition::LinearStiffnessY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcBoundaryNodeCondition::LinearStiffnessZ() const { return *entity->getArgument(3); } +void IfcBoundaryNodeCondition::LinearStiffnessZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } +void IfcBoundaryNodeCondition::RotationalStiffnessX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } +void IfcBoundaryNodeCondition::RotationalStiffnessY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } +void IfcBoundaryNodeCondition::RotationalStiffnessZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcBoundaryNodeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryNodeCondition::type() const { return Type::IfcBoundaryNodeCondition; } Type::Enum IfcBoundaryNodeCondition::Class() { return Type::IfcBoundaryNodeCondition; } @@ -7086,9 +7041,8 @@ IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcAbstractEntity* e) : IfcBo IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeConditionWarping -bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !entity->getArgument(7)->isNull(); } -double IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } -void IfcBoundaryNodeConditionWarping::setWarpingStiffness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } +void IfcBoundaryNodeConditionWarping::WarpingStiffness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcBoundaryNodeConditionWarping::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeConditionWarping || IfcBoundaryNodeCondition::is(v); } Type::Enum IfcBoundaryNodeConditionWarping::type() const { return Type::IfcBoundaryNodeConditionWarping; } Type::Enum IfcBoundaryNodeConditionWarping::Class() { return Type::IfcBoundaryNodeConditionWarping; } @@ -7111,13 +7065,13 @@ IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntity*)0) { Ifc // Function implementations for IfcBoundingBox IfcCartesianPoint* IfcBoundingBox::Corner() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcBoundingBox::setCorner(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcBoundingBox::Corner(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcBoundingBox::XDim() const { return *entity->getArgument(1); } -void IfcBoundingBox::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBoundingBox::XDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcBoundingBox::YDim() const { return *entity->getArgument(2); } -void IfcBoundingBox::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBoundingBox::YDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } -void IfcBoundingBox::setZDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcBoundingBox::ZDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcBoundingBox::is(Type::Enum v) const { return v == Type::IfcBoundingBox || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBoundingBox::type() const { return Type::IfcBoundingBox; } Type::Enum IfcBoundingBox::Class() { return Type::IfcBoundingBox; } @@ -7126,7 +7080,7 @@ IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, double v2_XDim, dou // Function implementations for IfcBoxedHalfSpace IfcBoundingBox* IfcBoxedHalfSpace::Enclosure() const { return (IfcBoundingBox*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBoxedHalfSpace::setEnclosure(IfcBoundingBox* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBoxedHalfSpace::Enclosure(IfcBoundingBox* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcBoxedHalfSpace::is(Type::Enum v) const { return v == Type::IfcBoxedHalfSpace || IfcHalfSpaceSolid::is(v); } Type::Enum IfcBoxedHalfSpace::type() const { return Type::IfcBoxedHalfSpace; } Type::Enum IfcBoxedHalfSpace::Class() { return Type::IfcBoxedHalfSpace; } @@ -7134,55 +7088,51 @@ IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid(( IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Enclosure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuilding -bool IfcBuilding::hasElevationOfRefHeight() const { return !entity->getArgument(9)->isNull(); } -double IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } -void IfcBuilding::setElevationOfRefHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcBuilding::hasElevationOfTerrain() const { return !entity->getArgument(10)->isNull(); } -double IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } -void IfcBuilding::setElevationOfTerrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcBuilding::hasBuildingAddress() const { return !entity->getArgument(11)->isNull(); } -IfcPostalAddress* IfcBuilding::BuildingAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcBuilding::setBuildingAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +boost::optional< double > IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } +void IfcBuilding::ElevationOfRefHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } +void IfcBuilding::ElevationOfTerrain(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcPostalAddress* > IfcBuilding::BuildingAddress() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBuilding::BuildingAddress(boost::optional< IfcPostalAddress* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcBuilding::is(Type::Enum v) const { return v == Type::IfcBuilding || IfcSpatialStructureElement::is(v); } Type::Enum IfcBuilding::type() const { return Type::IfcBuilding; } Type::Enum IfcBuilding::Class() { return Type::IfcBuilding; } IfcBuilding::IfcBuilding(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } +IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, boost::optional< IfcPostalAddress* > v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } if (v12_BuildingAddress) { e->setArgument(11,(*v12_BuildingAddress)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement bool IfcBuildingElement::is(Type::Enum v) const { return v == Type::IfcBuildingElement || IfcElement::is(v); } Type::Enum IfcBuildingElement::type() const { return Type::IfcBuildingElement; } Type::Enum IfcBuildingElement::Class() { return Type::IfcBuildingElement; } IfcBuildingElement::IfcBuildingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementComponent bool IfcBuildingElementComponent::is(Type::Enum v) const { return v == Type::IfcBuildingElementComponent || IfcBuildingElement::is(v); } Type::Enum IfcBuildingElementComponent::type() const { return Type::IfcBuildingElementComponent; } Type::Enum IfcBuildingElementComponent::Class() { return Type::IfcBuildingElementComponent; } IfcBuildingElementComponent::IfcBuildingElementComponent(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementComponent::IfcBuildingElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementComponent::IfcBuildingElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPart bool IfcBuildingElementPart::is(Type::Enum v) const { return v == Type::IfcBuildingElementPart || IfcBuildingElementComponent::is(v); } Type::Enum IfcBuildingElementPart::type() const { return Type::IfcBuildingElementPart; } Type::Enum IfcBuildingElementPart::Class() { return Type::IfcBuildingElementPart; } IfcBuildingElementPart::IfcBuildingElementPart(IfcAbstractEntity* e) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxy -bool IfcBuildingElementProxy::hasCompositionType() const { return !entity->getArgument(8)->isNull(); } -IfcElementCompositionEnum::IfcElementCompositionEnum IfcBuildingElementProxy::CompositionType() const { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } -void IfcBuildingElementProxy::setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElementCompositionEnum::ToString(v)); } +boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > IfcBuildingElementProxy::CompositionType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElementCompositionEnum::FromString(*arg); } } +void IfcBuildingElementProxy::CompositionType(boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElementCompositionEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcBuildingElementProxy::is(Type::Enum v) const { return v == Type::IfcBuildingElementProxy || IfcBuildingElement::is(v); } Type::Enum IfcBuildingElementProxy::type() const { return Type::IfcBuildingElementProxy; } Type::Enum IfcBuildingElementProxy::Class() { return Type::IfcBuildingElementProxy; } IfcBuildingElementProxy::IfcBuildingElementProxy(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxyType IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyType::PredefinedType() const { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBuildingElementProxyType::setPredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBuildingElementProxyTypeEnum::ToString(v)); } +void IfcBuildingElementProxyType::PredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBuildingElementProxyTypeEnum::ToString(v));; } bool IfcBuildingElementProxyType::is(Type::Enum v) const { return v == Type::IfcBuildingElementProxyType || IfcBuildingElementType::is(v); } Type::Enum IfcBuildingElementProxyType::type() const { return Type::IfcBuildingElementProxyType; } Type::Enum IfcBuildingElementProxyType::Class() { return Type::IfcBuildingElementProxyType; } @@ -7197,30 +7147,27 @@ IfcBuildingElementType::IfcBuildingElementType(IfcAbstractEntity* e) : IfcElemen IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingStorey -bool IfcBuildingStorey::hasElevation() const { return !entity->getArgument(9)->isNull(); } -double IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } -void IfcBuildingStorey::setElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } +void IfcBuildingStorey::Elevation(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcBuildingStorey::is(Type::Enum v) const { return v == Type::IfcBuildingStorey || IfcSpatialStructureElement::is(v); } Type::Enum IfcBuildingStorey::type() const { return Type::IfcBuildingStorey; } Type::Enum IfcBuildingStorey::Class() { return Type::IfcBuildingStorey; } IfcBuildingStorey::IfcBuildingStorey(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCShapeProfileDef double IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcCShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcCShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcCShapeProfileDef::Width(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcCShapeProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcCShapeProfileDef::WallThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } -void IfcCShapeProfileDef::setGirth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCShapeProfileDef::hasInternalFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } -void IfcCShapeProfileDef::setInternalFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcCShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(8)->isNull(); } -double IfcCShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(8); } -void IfcCShapeProfileDef::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcCShapeProfileDef::Girth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } +void IfcCShapeProfileDef::InternalFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcCShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(8); } +void IfcCShapeProfileDef::CentreOfGravityInX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcCShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCShapeProfileDef::type() const { return Type::IfcCShapeProfileDef; } Type::Enum IfcCShapeProfileDef::Class() { return Type::IfcCShapeProfileDef; } @@ -7229,7 +7176,7 @@ IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum // Function implementations for IfcCableCarrierFittingType IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingType::PredefinedType() const { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableCarrierFittingType::setPredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableCarrierFittingTypeEnum::ToString(v)); } +void IfcCableCarrierFittingType::PredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableCarrierFittingTypeEnum::ToString(v));; } bool IfcCableCarrierFittingType::is(Type::Enum v) const { return v == Type::IfcCableCarrierFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcCableCarrierFittingType::type() const { return Type::IfcCableCarrierFittingType; } Type::Enum IfcCableCarrierFittingType::Class() { return Type::IfcCableCarrierFittingType; } @@ -7238,7 +7185,7 @@ IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, // Function implementations for IfcCableCarrierSegmentType IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentType::PredefinedType() const { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableCarrierSegmentType::setPredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableCarrierSegmentTypeEnum::ToString(v)); } +void IfcCableCarrierSegmentType::PredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableCarrierSegmentTypeEnum::ToString(v));; } bool IfcCableCarrierSegmentType::is(Type::Enum v) const { return v == Type::IfcCableCarrierSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcCableCarrierSegmentType::type() const { return Type::IfcCableCarrierSegmentType; } Type::Enum IfcCableCarrierSegmentType::Class() { return Type::IfcCableCarrierSegmentType; } @@ -7247,7 +7194,7 @@ IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, // Function implementations for IfcCableSegmentType IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentType::PredefinedType() const { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableSegmentType::setPredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableSegmentTypeEnum::ToString(v)); } +void IfcCableSegmentType::PredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableSegmentTypeEnum::ToString(v));; } bool IfcCableSegmentType::is(Type::Enum v) const { return v == Type::IfcCableSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcCableSegmentType::type() const { return Type::IfcCableSegmentType; } Type::Enum IfcCableSegmentType::Class() { return Type::IfcCableSegmentType; } @@ -7256,11 +7203,11 @@ IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcCalendarDate int IfcCalendarDate::DayComponent() const { return *entity->getArgument(0); } -void IfcCalendarDate::setDayComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCalendarDate::DayComponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } int IfcCalendarDate::MonthComponent() const { return *entity->getArgument(1); } -void IfcCalendarDate::setMonthComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCalendarDate::MonthComponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } int IfcCalendarDate::YearComponent() const { return *entity->getArgument(2); } -void IfcCalendarDate::setYearComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCalendarDate::YearComponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcCalendarDate::is(Type::Enum v) const { return v == Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::type() const { return Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::Class() { return Type::IfcCalendarDate; } @@ -7269,7 +7216,7 @@ IfcCalendarDate::IfcCalendarDate(int v1_DayComponent, int v2_MonthComponent, int // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } -void IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCartesianPoint::Coordinates(std::vector< double > /*[1:3]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcCartesianPoint::is(Type::Enum v) const { return v == Type::IfcCartesianPoint || IfcPoint::is(v); } Type::Enum IfcCartesianPoint::type() const { return Type::IfcCartesianPoint; } Type::Enum IfcCartesianPoint::Class() { return Type::IfcCartesianPoint; } @@ -7277,66 +7224,59 @@ IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntity* e) : IfcPoint((IfcAbstra IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator -bool IfcCartesianTransformationOperator::hasAxis1() const { return !entity->getArgument(0)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis1() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCartesianTransformationOperator::setAxis1(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcCartesianTransformationOperator::hasAxis2() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis2() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCartesianTransformationOperator::setAxis2(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcDirection* > IfcCartesianTransformationOperator::Axis1() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCartesianTransformationOperator::Axis1(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< IfcDirection* > IfcCartesianTransformationOperator::Axis2() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCartesianTransformationOperator::Axis2(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcCartesianPoint* IfcCartesianTransformationOperator::LocalOrigin() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCartesianTransformationOperator::setLocalOrigin(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCartesianTransformationOperator::hasScale() const { return !entity->getArgument(3)->isNull(); } -double IfcCartesianTransformationOperator::Scale() const { return *entity->getArgument(3); } -void IfcCartesianTransformationOperator::setScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCartesianTransformationOperator::LocalOrigin(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcCartesianTransformationOperator::Scale() const { return *entity->getArgument(3); } +void IfcCartesianTransformationOperator::Scale(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcCartesianTransformationOperator::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCartesianTransformationOperator::type() const { return Type::IfcCartesianTransformationOperator; } Type::Enum IfcCartesianTransformationOperator::Class() { return Type::IfcCartesianTransformationOperator; } IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator2D bool IfcCartesianTransformationOperator2D::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator2D || IfcCartesianTransformationOperator::is(v); } Type::Enum IfcCartesianTransformationOperator2D::type() const { return Type::IfcCartesianTransformationOperator2D; } Type::Enum IfcCartesianTransformationOperator2D::Class() { return Type::IfcCartesianTransformationOperator2D; } IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcAbstractEntity* e) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -bool IfcCartesianTransformationOperator2DnonUniform::hasScale2() const { return !entity->getArgument(4)->isNull(); } -double IfcCartesianTransformationOperator2DnonUniform::Scale2() const { return *entity->getArgument(4); } -void IfcCartesianTransformationOperator2DnonUniform::setScale2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcCartesianTransformationOperator2DnonUniform::Scale2() const { return *entity->getArgument(4); } +void IfcCartesianTransformationOperator2DnonUniform::Scale2(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcCartesianTransformationOperator2DnonUniform::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator2DnonUniform || IfcCartesianTransformationOperator2D::is(v); } Type::Enum IfcCartesianTransformationOperator2DnonUniform::type() const { return Type::IfcCartesianTransformationOperator2DnonUniform; } Type::Enum IfcCartesianTransformationOperator2DnonUniform::Class() { return Type::IfcCartesianTransformationOperator2DnonUniform; } IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcAbstractEntity* e) : IfcCartesianTransformationOperator2D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator2DnonUniform)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Scale2) { e->setArgument(4,(*v5_Scale2)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Scale2) { e->setArgument(4,(*v5_Scale2)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator3D -bool IfcCartesianTransformationOperator3D::hasAxis3() const { return !entity->getArgument(4)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator3D::Axis3() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcCartesianTransformationOperator3D::setAxis3(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcDirection* > IfcCartesianTransformationOperator3D::Axis3() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCartesianTransformationOperator3D::Axis3(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcCartesianTransformationOperator3D::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator3D || IfcCartesianTransformationOperator::is(v); } Type::Enum IfcCartesianTransformationOperator3D::type() const { return Type::IfcCartesianTransformationOperator3D; } Type::Enum IfcCartesianTransformationOperator3D::Class() { return Type::IfcCartesianTransformationOperator3D; } IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcAbstractEntity* e) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } e->setArgument(4,(v5_Axis3)); entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Axis3) { e->setArgument(4,(*v5_Axis3)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -bool IfcCartesianTransformationOperator3DnonUniform::hasScale2() const { return !entity->getArgument(5)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale2() const { return *entity->getArgument(5); } -void IfcCartesianTransformationOperator3DnonUniform::setScale2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcCartesianTransformationOperator3DnonUniform::hasScale3() const { return !entity->getArgument(6)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale3() const { return *entity->getArgument(6); } -void IfcCartesianTransformationOperator3DnonUniform::setScale3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcCartesianTransformationOperator3DnonUniform::Scale2() const { return *entity->getArgument(5); } +void IfcCartesianTransformationOperator3DnonUniform::Scale2(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcCartesianTransformationOperator3DnonUniform::Scale3() const { return *entity->getArgument(6); } +void IfcCartesianTransformationOperator3DnonUniform::Scale3(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcCartesianTransformationOperator3DnonUniform::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator3DnonUniform || IfcCartesianTransformationOperator3D::is(v); } Type::Enum IfcCartesianTransformationOperator3DnonUniform::type() const { return Type::IfcCartesianTransformationOperator3DnonUniform; } Type::Enum IfcCartesianTransformationOperator3DnonUniform::Class() { return Type::IfcCartesianTransformationOperator3DnonUniform; } IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcAbstractEntity* e) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator3DnonUniform)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } e->setArgument(4,(v5_Axis3)); if (v6_Scale2) { e->setArgument(5,(*v6_Scale2)); } else { e->setArgument(5); } if (v7_Scale3) { e->setArgument(6,(*v7_Scale3)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Axis3) { e->setArgument(4,(*v5_Axis3)); } else { e->setArgument(4); } if (v6_Scale2) { e->setArgument(5,(*v6_Scale2)); } else { e->setArgument(5); } if (v7_Scale3) { e->setArgument(6,(*v7_Scale3)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCenterLineProfileDef double IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } -void IfcCenterLineProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCenterLineProfileDef::Thickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcCenterLineProfileDef::is(Type::Enum v) const { return v == Type::IfcCenterLineProfileDef || IfcArbitraryOpenProfileDef::is(v); } Type::Enum IfcCenterLineProfileDef::type() const { return Type::IfcCenterLineProfileDef; } Type::Enum IfcCenterLineProfileDef::Class() { return Type::IfcCenterLineProfileDef; } @@ -7344,21 +7284,19 @@ IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntity* e) : IfcArbi IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChamferEdgeFeature -bool IfcChamferEdgeFeature::hasWidth() const { return !entity->getArgument(9)->isNull(); } -double IfcChamferEdgeFeature::Width() const { return *entity->getArgument(9); } -void IfcChamferEdgeFeature::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcChamferEdgeFeature::hasHeight() const { return !entity->getArgument(10)->isNull(); } -double IfcChamferEdgeFeature::Height() const { return *entity->getArgument(10); } -void IfcChamferEdgeFeature::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< double > IfcChamferEdgeFeature::Width() const { return *entity->getArgument(9); } +void IfcChamferEdgeFeature::Width(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcChamferEdgeFeature::Height() const { return *entity->getArgument(10); } +void IfcChamferEdgeFeature::Height(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcChamferEdgeFeature::is(Type::Enum v) const { return v == Type::IfcChamferEdgeFeature || IfcEdgeFeature::is(v); } Type::Enum IfcChamferEdgeFeature::type() const { return Type::IfcChamferEdgeFeature; } Type::Enum IfcChamferEdgeFeature::Class() { return Type::IfcChamferEdgeFeature; } IfcChamferEdgeFeature::IfcChamferEdgeFeature(IfcAbstractEntity* e) : IfcEdgeFeature((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChamferEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChamferEdgeFeature::IfcChamferEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Width) { e->setArgument(9,(*v10_Width)); } else { e->setArgument(9); } if (v11_Height) { e->setArgument(10,(*v11_Height)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcChamferEdgeFeature::IfcChamferEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Width) { e->setArgument(9,(*v10_Width)); } else { e->setArgument(9); } if (v11_Height) { e->setArgument(10,(*v11_Height)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChillerType IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerType::PredefinedType() const { return IfcChillerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcChillerType::setPredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcChillerTypeEnum::ToString(v)); } +void IfcChillerType::PredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcChillerTypeEnum::ToString(v));; } bool IfcChillerType::is(Type::Enum v) const { return v == Type::IfcChillerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcChillerType::type() const { return Type::IfcChillerType; } Type::Enum IfcChillerType::Class() { return Type::IfcChillerType; } @@ -7367,7 +7305,7 @@ IfcChillerType::IfcChillerType(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcCircle double IfcCircle::Radius() const { return *entity->getArgument(1); } -void IfcCircle::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCircle::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCircle::is(Type::Enum v) const { return v == Type::IfcCircle || IfcConic::is(v); } Type::Enum IfcCircle::type() const { return Type::IfcCircle; } Type::Enum IfcCircle::Class() { return Type::IfcCircle; } @@ -7376,7 +7314,7 @@ IfcCircle::IfcCircle(IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConi // Function implementations for IfcCircleHollowProfileDef double IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } -void IfcCircleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcCircleHollowProfileDef::WallThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcCircleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleHollowProfileDef || IfcCircleProfileDef::is(v); } Type::Enum IfcCircleHollowProfileDef::type() const { return Type::IfcCircleHollowProfileDef; } Type::Enum IfcCircleHollowProfileDef::Class() { return Type::IfcCircleHollowProfileDef; } @@ -7385,7 +7323,7 @@ IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProf // Function implementations for IfcCircleProfileDef double IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } -void IfcCircleProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCircleProfileDef::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcCircleProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCircleProfileDef::type() const { return Type::IfcCircleProfileDef; } Type::Enum IfcCircleProfileDef::Class() { return Type::IfcCircleProfileDef; } @@ -7394,42 +7332,40 @@ IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum // Function implementations for IfcClassification std::string IfcClassification::Source() const { return *entity->getArgument(0); } -void IfcClassification::setSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcClassification::Source(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcClassification::Edition() const { return *entity->getArgument(1); } -void IfcClassification::setEdition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcClassification::hasEditionDate() const { return !entity->getArgument(2)->isNull(); } -IfcCalendarDate* IfcClassification::EditionDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcClassification::setEditionDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcClassification::Edition(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcCalendarDate* > IfcClassification::EditionDate() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcClassification::EditionDate(boost::optional< IfcCalendarDate* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } std::string IfcClassification::Name() const { return *entity->getArgument(3); } -void IfcClassification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcClassification::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcClassificationItem::list::ptr IfcClassification::Contains() const { return entity->getInverse(Type::IfcClassificationItem, 1)->as(); } bool IfcClassification::is(Type::Enum v) const { return v == Type::IfcClassification; } Type::Enum IfcClassification::type() const { return Type::IfcClassification; } Type::Enum IfcClassification::Class() { return Type::IfcClassification; } IfcClassification::IfcClassification(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassification::IfcClassification(std::string v1_Source, std::string v2_Edition, IfcCalendarDate* v3_EditionDate, std::string v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Source)); e->setArgument(1,(v2_Edition)); e->setArgument(2,(v3_EditionDate)); e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } +IfcClassification::IfcClassification(std::string v1_Source, std::string v2_Edition, boost::optional< IfcCalendarDate* > v3_EditionDate, std::string v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Source)); e->setArgument(1,(v2_Edition)); if (v3_EditionDate) { e->setArgument(2,(*v3_EditionDate)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationItem IfcClassificationNotationFacet* IfcClassificationItem::Notation() const { return (IfcClassificationNotationFacet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcClassificationItem::setNotation(IfcClassificationNotationFacet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcClassificationItem::hasItemOf() const { return !entity->getArgument(1)->isNull(); } -IfcClassification* IfcClassificationItem::ItemOf() const { return (IfcClassification*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcClassificationItem::setItemOf(IfcClassification* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcClassificationItem::Notation(IfcClassificationNotationFacet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcClassification* > IfcClassificationItem::ItemOf() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcClassification*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcClassificationItem::ItemOf(boost::optional< IfcClassification* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } std::string IfcClassificationItem::Title() const { return *entity->getArgument(2); } -void IfcClassificationItem::setTitle(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcClassificationItem::Title(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifiedItemIn() const { return entity->getInverse(Type::IfcClassificationItemRelationship, 1)->as(); } IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifyingItemIn() const { return entity->getInverse(Type::IfcClassificationItemRelationship, 0)->as(); } bool IfcClassificationItem::is(Type::Enum v) const { return v == Type::IfcClassificationItem; } Type::Enum IfcClassificationItem::type() const { return Type::IfcClassificationItem; } Type::Enum IfcClassificationItem::Class() { return Type::IfcClassificationItem; } IfcClassificationItem::IfcClassificationItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationItem::IfcClassificationItem(IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, std::string v3_Title) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Notation)); e->setArgument(1,(v2_ItemOf)); e->setArgument(2,(v3_Title)); entity = e; EntityBuffer::Add(this); } +IfcClassificationItem::IfcClassificationItem(IfcClassificationNotationFacet* v1_Notation, boost::optional< IfcClassification* > v2_ItemOf, std::string v3_Title) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Notation)); if (v2_ItemOf) { e->setArgument(1,(*v2_ItemOf)); } else { e->setArgument(1); } e->setArgument(2,(v3_Title)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationItemRelationship IfcClassificationItem* IfcClassificationItemRelationship::RelatingItem() const { return (IfcClassificationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcClassificationItemRelationship::setRelatingItem(IfcClassificationItem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcClassificationItemRelationship::RelatingItem(IfcClassificationItem* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcClassificationItem >::ptr IfcClassificationItemRelationship::RelatedItems() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcClassificationItemRelationship::setRelatedItems(IfcTemplatedEntityList< IfcClassificationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcClassificationItemRelationship::RelatedItems(IfcTemplatedEntityList< IfcClassificationItem >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcClassificationItemRelationship::is(Type::Enum v) const { return v == Type::IfcClassificationItemRelationship; } Type::Enum IfcClassificationItemRelationship::type() const { return Type::IfcClassificationItemRelationship; } Type::Enum IfcClassificationItemRelationship::Class() { return Type::IfcClassificationItemRelationship; } @@ -7438,7 +7374,7 @@ IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcClassifi // Function implementations for IfcClassificationNotation IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr IfcClassificationNotation::NotationFacets() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcClassificationNotation::setNotationFacets(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcClassificationNotation::NotationFacets(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcClassificationNotation::is(Type::Enum v) const { return v == Type::IfcClassificationNotation; } Type::Enum IfcClassificationNotation::type() const { return Type::IfcClassificationNotation; } Type::Enum IfcClassificationNotation::Class() { return Type::IfcClassificationNotation; } @@ -7447,7 +7383,7 @@ IfcClassificationNotation::IfcClassificationNotation(IfcTemplatedEntityList< Ifc // Function implementations for IfcClassificationNotationFacet std::string IfcClassificationNotationFacet::NotationValue() const { return *entity->getArgument(0); } -void IfcClassificationNotationFacet::setNotationValue(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcClassificationNotationFacet::NotationValue(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcClassificationNotationFacet::is(Type::Enum v) const { return v == Type::IfcClassificationNotationFacet; } Type::Enum IfcClassificationNotationFacet::type() const { return Type::IfcClassificationNotationFacet; } Type::Enum IfcClassificationNotationFacet::Class() { return Type::IfcClassificationNotationFacet; } @@ -7455,14 +7391,13 @@ IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcAbstractEntity IfcClassificationNotationFacet::IfcClassificationNotationFacet(std::string v1_NotationValue) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationReference -bool IfcClassificationReference::hasReferencedSource() const { return !entity->getArgument(3)->isNull(); } -IfcClassification* IfcClassificationReference::ReferencedSource() const { return (IfcClassification*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcClassificationReference::setReferencedSource(IfcClassification* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcClassification* > IfcClassificationReference::ReferencedSource() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcClassification*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcClassificationReference::ReferencedSource(boost::optional< IfcClassification* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcClassificationReference::is(Type::Enum v) const { return v == Type::IfcClassificationReference || IfcExternalReference::is(v); } Type::Enum IfcClassificationReference::type() const { return Type::IfcClassificationReference; } Type::Enum IfcClassificationReference::Class() { return Type::IfcClassificationReference; } IfcClassificationReference::IfcClassificationReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, IfcClassification* v4_ReferencedSource) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_ReferencedSource)); entity = e; EntityBuffer::Add(this); } +IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, boost::optional< IfcClassification* > v4_ReferencedSource) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_ReferencedSource) { e->setArgument(3,(*v4_ReferencedSource)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClosedShell bool IfcClosedShell::is(Type::Enum v) const { return v == Type::IfcClosedShell || IfcConnectedFaceSet::is(v); } @@ -7473,7 +7408,7 @@ IfcClosedShell::IfcClosedShell(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFace // Function implementations for IfcCoilType IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoilType::PredefinedType() const { return IfcCoilTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCoilType::setPredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCoilTypeEnum::ToString(v)); } +void IfcCoilType::PredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCoilTypeEnum::ToString(v));; } bool IfcCoilType::is(Type::Enum v) const { return v == Type::IfcCoilType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCoilType::type() const { return Type::IfcCoilType; } Type::Enum IfcCoilType::Class() { return Type::IfcCoilType; } @@ -7482,11 +7417,11 @@ IfcCoilType::IfcCoilType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcColourRgb double IfcColourRgb::Red() const { return *entity->getArgument(1); } -void IfcColourRgb::setRed(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcColourRgb::Red(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcColourRgb::Green() const { return *entity->getArgument(2); } -void IfcColourRgb::setGreen(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcColourRgb::Green(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcColourRgb::Blue() const { return *entity->getArgument(3); } -void IfcColourRgb::setBlue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcColourRgb::Blue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcColourRgb::is(Type::Enum v) const { return v == Type::IfcColourRgb || IfcColourSpecification::is(v); } Type::Enum IfcColourRgb::type() const { return Type::IfcColourRgb; } Type::Enum IfcColourRgb::Class() { return Type::IfcColourRgb; } @@ -7494,9 +7429,8 @@ IfcColourRgb::IfcColourRgb(IfcAbstractEntity* e) : IfcColourSpecification((IfcAb IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourSpecification -bool IfcColourSpecification::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcColourSpecification::Name() const { return *entity->getArgument(0); } -void IfcColourSpecification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcColourSpecification::Name() const { return *entity->getArgument(0); } +void IfcColourSpecification::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcColourSpecification::is(Type::Enum v) const { return v == Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::type() const { return Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::Class() { return Type::IfcColourSpecification; } @@ -7508,11 +7442,11 @@ bool IfcColumn::is(Type::Enum v) const { return v == Type::IfcColumn || IfcBuild Type::Enum IfcColumn::type() const { return Type::IfcColumn; } Type::Enum IfcColumn::Class() { return Type::IfcColumn; } IfcColumn::IfcColumn(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumn::IfcColumn(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcColumn::IfcColumn(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnType IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnType::PredefinedType() const { return IfcColumnTypeEnum::FromString(*entity->getArgument(9)); } -void IfcColumnType::setPredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcColumnTypeEnum::ToString(v)); } +void IfcColumnType::PredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcColumnTypeEnum::ToString(v));; } bool IfcColumnType::is(Type::Enum v) const { return v == Type::IfcColumnType || IfcBuildingElementType::is(v); } Type::Enum IfcColumnType::type() const { return Type::IfcColumnType; } Type::Enum IfcColumnType::Class() { return Type::IfcColumnType; } @@ -7521,9 +7455,9 @@ IfcColumnType::IfcColumnType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcComplexProperty std::string IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } -void IfcComplexProperty::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcComplexProperty::UsageName(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcProperty >::ptr IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcComplexProperty::HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcComplexProperty::is(Type::Enum v) const { return v == Type::IfcComplexProperty || IfcProperty::is(v); } Type::Enum IfcComplexProperty::type() const { return Type::IfcComplexProperty; } Type::Enum IfcComplexProperty::Class() { return Type::IfcComplexProperty; } @@ -7532,9 +7466,9 @@ IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std // Function implementations for IfcCompositeCurve IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr IfcCompositeCurve::Segments() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcCompositeCurve::setSegments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcCompositeCurve::Segments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcCompositeCurve::SelfIntersect() const { return *entity->getArgument(1); } -void IfcCompositeCurve::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCompositeCurve::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCompositeCurve::is(Type::Enum v) const { return v == Type::IfcCompositeCurve || IfcBoundedCurve::is(v); } Type::Enum IfcCompositeCurve::type() const { return Type::IfcCompositeCurve; } Type::Enum IfcCompositeCurve::Class() { return Type::IfcCompositeCurve; } @@ -7543,11 +7477,11 @@ IfcCompositeCurve::IfcCompositeCurve(IfcTemplatedEntityList< IfcCompositeCurveSe // Function implementations for IfcCompositeCurveSegment IfcTransitionCode::IfcTransitionCode IfcCompositeCurveSegment::Transition() const { return IfcTransitionCode::FromString(*entity->getArgument(0)); } -void IfcCompositeCurveSegment::setTransition(IfcTransitionCode::IfcTransitionCode v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcTransitionCode::ToString(v)); } +void IfcCompositeCurveSegment::Transition(IfcTransitionCode::IfcTransitionCode v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcTransitionCode::ToString(v));; } bool IfcCompositeCurveSegment::SameSense() const { return *entity->getArgument(1); } -void IfcCompositeCurveSegment::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCompositeCurveSegment::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcCurve* IfcCompositeCurveSegment::ParentCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCompositeCurveSegment::setParentCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCompositeCurveSegment::ParentCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return entity->getInverse(Type::IfcCompositeCurve, 0)->as(); } bool IfcCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcCompositeCurveSegment || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCompositeCurveSegment::type() const { return Type::IfcCompositeCurveSegment; } @@ -7557,10 +7491,9 @@ IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransit // Function implementations for IfcCompositeProfileDef IfcTemplatedEntityList< IfcProfileDef >::ptr IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcCompositeProfileDef::hasLabel() const { return !entity->getArgument(3)->isNull(); } -std::string IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } -void IfcCompositeProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCompositeProfileDef::Profiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } +boost::optional< std::string > IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } +void IfcCompositeProfileDef::Label(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } Type::Enum IfcCompositeProfileDef::type() const { return Type::IfcCompositeProfileDef; } Type::Enum IfcCompositeProfileDef::Class() { return Type::IfcCompositeProfileDef; } @@ -7569,7 +7502,7 @@ IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTyp // Function implementations for IfcCompressorType IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorType::PredefinedType() const { return IfcCompressorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCompressorType::setPredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCompressorTypeEnum::ToString(v)); } +void IfcCompressorType::PredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCompressorTypeEnum::ToString(v));; } bool IfcCompressorType::is(Type::Enum v) const { return v == Type::IfcCompressorType || IfcFlowMovingDeviceType::is(v); } Type::Enum IfcCompressorType::type() const { return Type::IfcCompressorType; } Type::Enum IfcCompressorType::Class() { return Type::IfcCompressorType; } @@ -7578,7 +7511,7 @@ IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcCondenserType IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserType::PredefinedType() const { return IfcCondenserTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCondenserType::setPredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCondenserTypeEnum::ToString(v)); } +void IfcCondenserType::PredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCondenserTypeEnum::ToString(v));; } bool IfcCondenserType::is(Type::Enum v) const { return v == Type::IfcCondenserType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCondenserType::type() const { return Type::IfcCondenserType; } Type::Enum IfcCondenserType::Class() { return Type::IfcCondenserType; } @@ -7594,9 +7527,9 @@ IfcCondition::IfcCondition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHis // Function implementations for IfcConditionCriterion IfcConditionCriterionSelect* IfcConditionCriterion::Criterion() const { return (IfcConditionCriterionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcConditionCriterion::setCriterion(IfcConditionCriterionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcConditionCriterion::Criterion(IfcConditionCriterionSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcDateTimeSelect* IfcConditionCriterion::CriterionDateTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcConditionCriterion::setCriterionDateTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcConditionCriterion::CriterionDateTime(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcConditionCriterion::is(Type::Enum v) const { return v == Type::IfcConditionCriterion || IfcControl::is(v); } Type::Enum IfcConditionCriterion::type() const { return Type::IfcConditionCriterion; } Type::Enum IfcConditionCriterion::Class() { return Type::IfcConditionCriterion; } @@ -7605,7 +7538,7 @@ IfcConditionCriterion::IfcConditionCriterion(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcConic IfcAxis2Placement* IfcConic::Position() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConic::setPosition(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcConic::Position(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcConic::is(Type::Enum v) const { return v == Type::IfcConic || IfcCurve::is(v); } Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } @@ -7614,7 +7547,7 @@ IfcConic::IfcConic(IfcAxis2Placement* v1_Position) : IfcCurve((IfcAbstractEntity // Function implementations for IfcConnectedFaceSet IfcTemplatedEntityList< IfcFace >::ptr IfcConnectedFaceSet::CfsFaces() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcConnectedFaceSet::setCfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcConnectedFaceSet::CfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcConnectedFaceSet::is(Type::Enum v) const { return v == Type::IfcConnectedFaceSet || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcConnectedFaceSet::type() const { return Type::IfcConnectedFaceSet; } Type::Enum IfcConnectedFaceSet::Class() { return Type::IfcConnectedFaceSet; } @@ -7623,15 +7556,14 @@ IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< IfcFace >::ptr // Function implementations for IfcConnectionCurveGeometry IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionCurveGeometry::CurveOnRelatingElement(IfcCurveOrEdgeCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcCurveOrEdgeCurve* > IfcConnectionCurveGeometry::CurveOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionCurveGeometry::CurveOnRelatedElement(boost::optional< IfcCurveOrEdgeCurve* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionCurveGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionCurveGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionCurveGeometry::type() const { return Type::IfcConnectionCurveGeometry; } Type::Enum IfcConnectionCurveGeometry::Class() { return Type::IfcConnectionCurveGeometry; } IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); e->setArgument(1,(v2_CurveOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve* > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionGeometry bool IfcConnectionGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionGeometry; } @@ -7641,79 +7573,68 @@ IfcConnectionGeometry::IfcConnectionGeometry(IfcAbstractEntity* e) : IfcUtil::If IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointEccentricity -bool IfcConnectionPointEccentricity::hasEccentricityInX() const { return !entity->getArgument(2)->isNull(); } -double IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } -void IfcConnectionPointEccentricity::setEccentricityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInY() const { return !entity->getArgument(3)->isNull(); } -double IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } -void IfcConnectionPointEccentricity::setEccentricityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !entity->getArgument(4)->isNull(); } -double IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } -void IfcConnectionPointEccentricity::setEccentricityInZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } +void IfcConnectionPointEccentricity::EccentricityInX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } +void IfcConnectionPointEccentricity::EccentricityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } +void IfcConnectionPointEccentricity::EccentricityInZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcConnectionPointEccentricity::is(Type::Enum v) const { return v == Type::IfcConnectionPointEccentricity || IfcConnectionPointGeometry::is(v); } Type::Enum IfcConnectionPointEccentricity::type() const { return Type::IfcConnectionPointEccentricity; } Type::Enum IfcConnectionPointEccentricity::Class() { return Type::IfcConnectionPointEccentricity; } IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcAbstractEntity* e) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointGeometry IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatingElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatedElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionPointGeometry::PointOnRelatingElement(IfcPointOrVertexPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcPointOrVertexPoint* > IfcConnectionPointGeometry::PointOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionPointGeometry::PointOnRelatedElement(boost::optional< IfcPointOrVertexPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionPointGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPointGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPointGeometry::type() const { return Type::IfcConnectionPointGeometry; } Type::Enum IfcConnectionPointGeometry::Class() { return Type::IfcConnectionPointGeometry; } IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPortGeometry IfcAxis2Placement* IfcConnectionPortGeometry::LocationAtRelatingElement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionPortGeometry::setLocationAtRelatingElement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionPortGeometry::hasLocationAtRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement* IfcConnectionPortGeometry::LocationAtRelatedElement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionPortGeometry::setLocationAtRelatedElement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionPortGeometry::LocationAtRelatingElement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcAxis2Placement* > IfcConnectionPortGeometry::LocationAtRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionPortGeometry::LocationAtRelatedElement(boost::optional< IfcAxis2Placement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcProfileDef* IfcConnectionPortGeometry::ProfileOfPort() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcConnectionPortGeometry::setProfileOfPort(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcConnectionPortGeometry::ProfileOfPort(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcConnectionPortGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPortGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPortGeometry::type() const { return Type::IfcConnectionPortGeometry; } Type::Enum IfcConnectionPortGeometry::Class() { return Type::IfcConnectionPortGeometry; } IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPortGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAxis2Placement* v1_LocationAtRelatingElement, IfcAxis2Placement* v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LocationAtRelatingElement)); e->setArgument(1,(v2_LocationAtRelatedElement)); e->setArgument(2,(v3_ProfileOfPort)); entity = e; EntityBuffer::Add(this); } +IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAxis2Placement* v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement* > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LocationAtRelatingElement)); if (v2_LocationAtRelatedElement) { e->setArgument(1,(*v2_LocationAtRelatedElement)); } else { e->setArgument(1); } e->setArgument(2,(v3_ProfileOfPort)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionSurfaceGeometry IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcSurfaceOrFaceSurface* > IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement(boost::optional< IfcSurfaceOrFaceSurface* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionSurfaceGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionSurfaceGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionSurfaceGeometry::type() const { return Type::IfcConnectionSurfaceGeometry; } Type::Enum IfcConnectionSurfaceGeometry::Class() { return Type::IfcConnectionSurfaceGeometry; } IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); e->setArgument(1,(v2_SurfaceOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface* > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraint std::string IfcConstraint::Name() const { return *entity->getArgument(0); } -void IfcConstraint::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraint::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcConstraint::Description() const { return *entity->getArgument(1); } -void IfcConstraint::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConstraint::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcConstraint::Description() const { return *entity->getArgument(1); } +void IfcConstraint::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcConstraintEnum::IfcConstraintEnum IfcConstraint::ConstraintGrade() const { return IfcConstraintEnum::FromString(*entity->getArgument(2)); } -void IfcConstraint::setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcConstraintEnum::ToString(v)); } -bool IfcConstraint::hasConstraintSource() const { return !entity->getArgument(3)->isNull(); } -std::string IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } -void IfcConstraint::setConstraintSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConstraint::hasCreatingActor() const { return !entity->getArgument(4)->isNull(); } -IfcActorSelect* IfcConstraint::CreatingActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcConstraint::setCreatingActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcConstraint::hasCreationTime() const { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect* IfcConstraint::CreationTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcConstraint::setCreationTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcConstraint::hasUserDefinedGrade() const { return !entity->getArgument(6)->isNull(); } -std::string IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } -void IfcConstraint::setUserDefinedGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcConstraint::ConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcConstraintEnum::ToString(v));; } +boost::optional< std::string > IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } +void IfcConstraint::ConstraintSource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcActorSelect* > IfcConstraint::CreatingActor() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstraint::CreatingActor(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcDateTimeSelect* > IfcConstraint::CreationTime() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstraint::CreationTime(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } +void IfcConstraint::UserDefinedGrade(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcConstraintClassificationRelationship::list::ptr IfcConstraint::ClassifiedAs() const { return entity->getInverse(Type::IfcConstraintClassificationRelationship, 0)->as(); } IfcConstraintRelationship::list::ptr IfcConstraint::RelatesConstraints() const { return entity->getInverse(Type::IfcConstraintRelationship, 2)->as(); } IfcConstraintRelationship::list::ptr IfcConstraint::IsRelatedWith() const { return entity->getInverse(Type::IfcConstraintRelationship, 3)->as(); } @@ -7724,21 +7645,19 @@ bool IfcConstraint::is(Type::Enum v) const { return v == Type::IfcConstraint; } Type::Enum IfcConstraint::type() const { return Type::IfcConstraint; } Type::Enum IfcConstraint::Class() { return Type::IfcConstraint; } IfcConstraint::IfcConstraint(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); e->setArgument(5,(v6_CreationTime)); if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< IfcDateTimeSelect* > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraintAggregationRelationship -bool IfcConstraintAggregationRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcConstraintAggregationRelationship::Name() const { return *entity->getArgument(0); } -void IfcConstraintAggregationRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraintAggregationRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcConstraintAggregationRelationship::Description() const { return *entity->getArgument(1); } -void IfcConstraintAggregationRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcConstraintAggregationRelationship::Name() const { return *entity->getArgument(0); } +void IfcConstraintAggregationRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcConstraintAggregationRelationship::Description() const { return *entity->getArgument(1); } +void IfcConstraintAggregationRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcConstraint* IfcConstraintAggregationRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcConstraintAggregationRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcConstraintAggregationRelationship::RelatingConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcConstraint >::ptr IfcConstraintAggregationRelationship::RelatedConstraints() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcConstraintAggregationRelationship::setRelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcConstraintAggregationRelationship::RelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } IfcLogicalOperatorEnum::IfcLogicalOperatorEnum IfcConstraintAggregationRelationship::LogicalAggregator() const { return IfcLogicalOperatorEnum::FromString(*entity->getArgument(4)); } -void IfcConstraintAggregationRelationship::setLogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcLogicalOperatorEnum::ToString(v)); } +void IfcConstraintAggregationRelationship::LogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcLogicalOperatorEnum::ToString(v));; } bool IfcConstraintAggregationRelationship::is(Type::Enum v) const { return v == Type::IfcConstraintAggregationRelationship; } Type::Enum IfcConstraintAggregationRelationship::type() const { return Type::IfcConstraintAggregationRelationship; } Type::Enum IfcConstraintAggregationRelationship::Class() { return Type::IfcConstraintAggregationRelationship; } @@ -7747,9 +7666,9 @@ IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost // Function implementations for IfcConstraintClassificationRelationship IfcConstraint* IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConstraintClassificationRelationship::setClassifiedConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcConstraintClassificationRelationship::ClassifiedConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcConstraintClassificationRelationship::RelatedClassifications() const { return *entity->getArgument(1); } -void IfcConstraintClassificationRelationship::setRelatedClassifications(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConstraintClassificationRelationship::RelatedClassifications(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcConstraintClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcConstraintClassificationRelationship; } Type::Enum IfcConstraintClassificationRelationship::type() const { return Type::IfcConstraintClassificationRelationship; } Type::Enum IfcConstraintClassificationRelationship::Class() { return Type::IfcConstraintClassificationRelationship; } @@ -7757,16 +7676,14 @@ IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcConstraint* v1_ClassifiedConstraint, IfcEntityList::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ClassifiedConstraint)); e->setArgument(1,(v2_RelatedClassifications)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraintRelationship -bool IfcConstraintRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcConstraintRelationship::Name() const { return *entity->getArgument(0); } -void IfcConstraintRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraintRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcConstraintRelationship::Description() const { return *entity->getArgument(1); } -void IfcConstraintRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcConstraintRelationship::Name() const { return *entity->getArgument(0); } +void IfcConstraintRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcConstraintRelationship::Description() const { return *entity->getArgument(1); } +void IfcConstraintRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcConstraint* IfcConstraintRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcConstraintRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcConstraintRelationship::RelatingConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcConstraint >::ptr IfcConstraintRelationship::RelatedConstraints() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcConstraintRelationship::setRelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcConstraintRelationship::RelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcConstraintRelationship; } Type::Enum IfcConstraintRelationship::type() const { return Type::IfcConstraintRelationship; } Type::Enum IfcConstraintRelationship::Class() { return Type::IfcConstraintRelationship; } @@ -7778,50 +7695,44 @@ bool IfcConstructionEquipmentResource::is(Type::Enum v) const { return v == Type Type::Enum IfcConstructionEquipmentResource::type() const { return Type::IfcConstructionEquipmentResource; } Type::Enum IfcConstructionEquipmentResource::Class() { return Type::IfcConstructionEquipmentResource; } IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResource -bool IfcConstructionMaterialResource::hasSuppliers() const { return !entity->getArgument(9)->isNull(); } -IfcEntityList::ptr IfcConstructionMaterialResource::Suppliers() const { return *entity->getArgument(9); } -void IfcConstructionMaterialResource::setSuppliers(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcConstructionMaterialResource::hasUsageRatio() const { return !entity->getArgument(10)->isNull(); } -double IfcConstructionMaterialResource::UsageRatio() const { return *entity->getArgument(10); } -void IfcConstructionMaterialResource::setUsageRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcEntityList::ptr > IfcConstructionMaterialResource::Suppliers() const { return *entity->getArgument(9); } +void IfcConstructionMaterialResource::Suppliers(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcConstructionMaterialResource::UsageRatio() const { return *entity->getArgument(10); } +void IfcConstructionMaterialResource::UsageRatio(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcConstructionMaterialResource::is(Type::Enum v) const { return v == Type::IfcConstructionMaterialResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionMaterialResource::type() const { return Type::IfcConstructionMaterialResource; } Type::Enum IfcConstructionMaterialResource::Class() { return Type::IfcConstructionMaterialResource; } IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_Suppliers) { e->setArgument(9,(*v10_Suppliers)); } else { e->setArgument(9); } if (v11_UsageRatio) { e->setArgument(10,(*v11_UsageRatio)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } if (v10_Suppliers) { e->setArgument(9,(*v10_Suppliers)); } else { e->setArgument(9); } if (v11_UsageRatio) { e->setArgument(10,(*v11_UsageRatio)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResource bool IfcConstructionProductResource::is(Type::Enum v) const { return v == Type::IfcConstructionProductResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionProductResource::type() const { return Type::IfcConstructionProductResource; } Type::Enum IfcConstructionProductResource::Class() { return Type::IfcConstructionProductResource; } IfcConstructionProductResource::IfcConstructionProductResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResource -bool IfcConstructionResource::hasResourceIdentifier() const { return !entity->getArgument(5)->isNull(); } -std::string IfcConstructionResource::ResourceIdentifier() const { return *entity->getArgument(5); } -void IfcConstructionResource::setResourceIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcConstructionResource::hasResourceGroup() const { return !entity->getArgument(6)->isNull(); } -std::string IfcConstructionResource::ResourceGroup() const { return *entity->getArgument(6); } -void IfcConstructionResource::setResourceGroup(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcConstructionResource::hasResourceConsumption() const { return !entity->getArgument(7)->isNull(); } -IfcResourceConsumptionEnum::IfcResourceConsumptionEnum IfcConstructionResource::ResourceConsumption() const { return IfcResourceConsumptionEnum::FromString(*entity->getArgument(7)); } -void IfcConstructionResource::setResourceConsumption(IfcResourceConsumptionEnum::IfcResourceConsumptionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcResourceConsumptionEnum::ToString(v)); } -bool IfcConstructionResource::hasBaseQuantity() const { return !entity->getArgument(8)->isNull(); } -IfcMeasureWithUnit* IfcConstructionResource::BaseQuantity() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcConstructionResource::setBaseQuantity(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcConstructionResource::ResourceIdentifier() const { return *entity->getArgument(5); } +void IfcConstructionResource::ResourceIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcConstructionResource::ResourceGroup() const { return *entity->getArgument(6); } +void IfcConstructionResource::ResourceGroup(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > IfcConstructionResource::ResourceConsumption() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcResourceConsumptionEnum::FromString(*arg); } } +void IfcConstructionResource::ResourceConsumption(boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcResourceConsumptionEnum::ToString(*v));; } else { w->setArgument(7); } } +boost::optional< IfcMeasureWithUnit* > IfcConstructionResource::BaseQuantity() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstructionResource::BaseQuantity(boost::optional< IfcMeasureWithUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcConstructionResource::is(Type::Enum v) const { return v == Type::IfcConstructionResource || IfcResource::is(v); } Type::Enum IfcConstructionResource::type() const { return Type::IfcConstructionResource; } Type::Enum IfcConstructionResource::Class() { return Type::IfcConstructionResource; } IfcConstructionResource::IfcConstructionResource(IfcAbstractEntity* e) : IfcResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContextDependentUnit std::string IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } -void IfcContextDependentUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcContextDependentUnit::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcContextDependentUnit::is(Type::Enum v) const { return v == Type::IfcContextDependentUnit || IfcNamedUnit::is(v); } Type::Enum IfcContextDependentUnit::type() const { return Type::IfcContextDependentUnit; } Type::Enum IfcContextDependentUnit::Class() { return Type::IfcContextDependentUnit; } @@ -7838,7 +7749,7 @@ IfcControl::IfcControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory // Function implementations for IfcControllerType IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerType::PredefinedType() const { return IfcControllerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcControllerType::setPredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcControllerTypeEnum::ToString(v)); } +void IfcControllerType::PredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcControllerTypeEnum::ToString(v));; } bool IfcControllerType::is(Type::Enum v) const { return v == Type::IfcControllerType || IfcDistributionControlElementType::is(v); } Type::Enum IfcControllerType::type() const { return Type::IfcControllerType; } Type::Enum IfcControllerType::Class() { return Type::IfcControllerType; } @@ -7847,9 +7758,9 @@ IfcControllerType::IfcControllerType(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcConversionBasedUnit std::string IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } -void IfcConversionBasedUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcConversionBasedUnit::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcConversionBasedUnit::ConversionFactor(IfcMeasureWithUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcConversionBasedUnit::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnit || IfcNamedUnit::is(v); } Type::Enum IfcConversionBasedUnit::type() const { return Type::IfcConversionBasedUnit; } Type::Enum IfcConversionBasedUnit::Class() { return Type::IfcConversionBasedUnit; } @@ -7858,7 +7769,7 @@ IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimen // Function implementations for IfcCooledBeamType IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamType::PredefinedType() const { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCooledBeamType::setPredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCooledBeamTypeEnum::ToString(v)); } +void IfcCooledBeamType::PredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCooledBeamTypeEnum::ToString(v));; } bool IfcCooledBeamType::is(Type::Enum v) const { return v == Type::IfcCooledBeamType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCooledBeamType::type() const { return Type::IfcCooledBeamType; } Type::Enum IfcCooledBeamType::Class() { return Type::IfcCooledBeamType; } @@ -7867,7 +7778,7 @@ IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcCoolingTowerType IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerType::PredefinedType() const { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCoolingTowerType::setPredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCoolingTowerTypeEnum::ToString(v)); } +void IfcCoolingTowerType::PredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCoolingTowerTypeEnum::ToString(v));; } bool IfcCoolingTowerType::is(Type::Enum v) const { return v == Type::IfcCoolingTowerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCoolingTowerType::type() const { return Type::IfcCoolingTowerType; } Type::Enum IfcCoolingTowerType::Class() { return Type::IfcCoolingTowerType; } @@ -7876,12 +7787,11 @@ IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcCoordinatedUniversalTimeOffset int IfcCoordinatedUniversalTimeOffset::HourOffset() const { return *entity->getArgument(0); } -void IfcCoordinatedUniversalTimeOffset::setHourOffset(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcCoordinatedUniversalTimeOffset::hasMinuteOffset() const { return !entity->getArgument(1)->isNull(); } -int IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { return *entity->getArgument(1); } -void IfcCoordinatedUniversalTimeOffset::setMinuteOffset(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCoordinatedUniversalTimeOffset::HourOffset(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< int > IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { return *entity->getArgument(1); } +void IfcCoordinatedUniversalTimeOffset::MinuteOffset(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcAheadOrBehind::IfcAheadOrBehind IfcCoordinatedUniversalTimeOffset::Sense() const { return IfcAheadOrBehind::FromString(*entity->getArgument(2)); } -void IfcCoordinatedUniversalTimeOffset::setSense(IfcAheadOrBehind::IfcAheadOrBehind v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcAheadOrBehind::ToString(v)); } +void IfcCoordinatedUniversalTimeOffset::Sense(IfcAheadOrBehind::IfcAheadOrBehind v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcAheadOrBehind::ToString(v));; } bool IfcCoordinatedUniversalTimeOffset::is(Type::Enum v) const { return v == Type::IfcCoordinatedUniversalTimeOffset; } Type::Enum IfcCoordinatedUniversalTimeOffset::type() const { return Type::IfcCoordinatedUniversalTimeOffset; } Type::Enum IfcCoordinatedUniversalTimeOffset::Class() { return Type::IfcCoordinatedUniversalTimeOffset; } @@ -7896,61 +7806,53 @@ IfcCostItem::IfcCostItem(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*) IfcCostItem::IfcCostItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostSchedule -bool IfcCostSchedule::hasSubmittedBy() const { return !entity->getArgument(5)->isNull(); } -IfcActorSelect* IfcCostSchedule::SubmittedBy() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcCostSchedule::setSubmittedBy(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcCostSchedule::hasPreparedBy() const { return !entity->getArgument(6)->isNull(); } -IfcActorSelect* IfcCostSchedule::PreparedBy() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcCostSchedule::setPreparedBy(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCostSchedule::hasSubmittedOn() const { return !entity->getArgument(7)->isNull(); } -IfcDateTimeSelect* IfcCostSchedule::SubmittedOn() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcCostSchedule::setSubmittedOn(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcCostSchedule::hasStatus() const { return !entity->getArgument(8)->isNull(); } -std::string IfcCostSchedule::Status() const { return *entity->getArgument(8); } -void IfcCostSchedule::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcCostSchedule::hasTargetUsers() const { return !entity->getArgument(9)->isNull(); } -IfcEntityList::ptr IfcCostSchedule::TargetUsers() const { return *entity->getArgument(9); } -void IfcCostSchedule::setTargetUsers(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcCostSchedule::hasUpdateDate() const { return !entity->getArgument(10)->isNull(); } -IfcDateTimeSelect* IfcCostSchedule::UpdateDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcCostSchedule::setUpdateDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcActorSelect* > IfcCostSchedule::SubmittedBy() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCostSchedule::SubmittedBy(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcActorSelect* > IfcCostSchedule::PreparedBy() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCostSchedule::PreparedBy(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcDateTimeSelect* > IfcCostSchedule::SubmittedOn() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCostSchedule::SubmittedOn(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcCostSchedule::Status() const { return *entity->getArgument(8); } +void IfcCostSchedule::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcEntityList::ptr > IfcCostSchedule::TargetUsers() const { return *entity->getArgument(9); } +void IfcCostSchedule::TargetUsers(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcDateTimeSelect* > IfcCostSchedule::UpdateDate() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCostSchedule::UpdateDate(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } std::string IfcCostSchedule::ID() const { return *entity->getArgument(11); } -void IfcCostSchedule::setID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcCostSchedule::ID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() const { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(12)); } -void IfcCostSchedule::setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcCostScheduleTypeEnum::ToString(v)); } +void IfcCostSchedule::PredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v,IfcCostScheduleTypeEnum::ToString(v));; } bool IfcCostSchedule::is(Type::Enum v) const { return v == Type::IfcCostSchedule || IfcControl::is(v); } Type::Enum IfcCostSchedule::type() const { return Type::IfcCostSchedule; } Type::Enum IfcCostSchedule::Class() { return Type::IfcCostSchedule; } IfcCostSchedule::IfcCostSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_SubmittedBy, IfcActorSelect* v7_PreparedBy, IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SubmittedBy)); e->setArgument(6,(v7_PreparedBy)); e->setArgument(7,(v8_SubmittedOn)); if (v9_Status) { e->setArgument(8,(*v9_Status)); } else { e->setArgument(8); } if (v10_TargetUsers) { e->setArgument(9,(*v10_TargetUsers)); } else { e->setArgument(9); } e->setArgument(10,(v11_UpdateDate)); e->setArgument(11,(v12_ID)); e->setArgument(12,v13_PredefinedType,IfcCostScheduleTypeEnum::ToString(v13_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcActorSelect* > v6_SubmittedBy, boost::optional< IfcActorSelect* > v7_PreparedBy, boost::optional< IfcDateTimeSelect* > v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, boost::optional< IfcDateTimeSelect* > v11_UpdateDate, std::string v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_SubmittedBy) { e->setArgument(5,(*v6_SubmittedBy)); } else { e->setArgument(5); } if (v7_PreparedBy) { e->setArgument(6,(*v7_PreparedBy)); } else { e->setArgument(6); } if (v8_SubmittedOn) { e->setArgument(7,(*v8_SubmittedOn)); } else { e->setArgument(7); } if (v9_Status) { e->setArgument(8,(*v9_Status)); } else { e->setArgument(8); } if (v10_TargetUsers) { e->setArgument(9,(*v10_TargetUsers)); } else { e->setArgument(9); } if (v11_UpdateDate) { e->setArgument(10,(*v11_UpdateDate)); } else { e->setArgument(10); } e->setArgument(11,(v12_ID)); e->setArgument(12,v13_PredefinedType,IfcCostScheduleTypeEnum::ToString(v13_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostValue std::string IfcCostValue::CostType() const { return *entity->getArgument(6); } -void IfcCostValue::setCostType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCostValue::hasCondition() const { return !entity->getArgument(7)->isNull(); } -std::string IfcCostValue::Condition() const { return *entity->getArgument(7); } -void IfcCostValue::setCondition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcCostValue::CostType(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< std::string > IfcCostValue::Condition() const { return *entity->getArgument(7); } +void IfcCostValue::Condition(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcCostValue::is(Type::Enum v) const { return v == Type::IfcCostValue || IfcAppliedValue::is(v); } Type::Enum IfcCostValue::type() const { return Type::IfcCostValue; } Type::Enum IfcCostValue::Class() { return Type::IfcCostValue; } IfcCostValue::IfcCostValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); e->setArgument(4,(v5_ApplicableDate)); e->setArgument(5,(v6_FixedUntilDate)); e->setArgument(6,(v7_CostType)); if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< IfcDateTimeSelect* > v5_ApplicableDate, boost::optional< IfcDateTimeSelect* > v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } if (v4_UnitBasis) { e->setArgument(3,(*v4_UnitBasis)); } else { e->setArgument(3); } if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_CostType)); if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCovering -bool IfcCovering::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCovering::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCovering::setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCoveringTypeEnum::ToString(v)); } +boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > IfcCovering::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCoveringTypeEnum::FromString(*arg); } } +void IfcCovering::PredefinedType(boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCoveringTypeEnum::ToString(*v));; } else { w->setArgument(8); } } IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return entity->getInverse(Type::IfcRelCoversSpaces, 5)->as(); } IfcRelCoversBldgElements::list::ptr IfcCovering::Covers() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 5)->as(); } bool IfcCovering::is(Type::Enum v) const { return v == Type::IfcCovering || IfcBuildingElement::is(v); } Type::Enum IfcCovering::type() const { return Type::IfcCovering; } Type::Enum IfcCovering::Class() { return Type::IfcCovering; } IfcCovering::IfcCovering(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCovering::IfcCovering(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCovering::IfcCovering(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoveringType IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringType::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCoveringType::setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCoveringTypeEnum::ToString(v)); } +void IfcCoveringType::PredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCoveringTypeEnum::ToString(v));; } bool IfcCoveringType::is(Type::Enum v) const { return v == Type::IfcCoveringType || IfcBuildingElementType::is(v); } Type::Enum IfcCoveringType::type() const { return Type::IfcCoveringType; } Type::Enum IfcCoveringType::Class() { return Type::IfcCoveringType; } @@ -7959,31 +7861,29 @@ IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, IfcOwnerHistory* v2_Ow // Function implementations for IfcCraneRailAShapeProfileDef double IfcCraneRailAShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } -void IfcCraneRailAShapeProfileDef::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCraneRailAShapeProfileDef::OverallHeight(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcCraneRailAShapeProfileDef::BaseWidth2() const { return *entity->getArgument(4); } -void IfcCraneRailAShapeProfileDef::setBaseWidth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcCraneRailAShapeProfileDef::hasRadius() const { return !entity->getArgument(5)->isNull(); } -double IfcCraneRailAShapeProfileDef::Radius() const { return *entity->getArgument(5); } -void IfcCraneRailAShapeProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcCraneRailAShapeProfileDef::BaseWidth2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< double > IfcCraneRailAShapeProfileDef::Radius() const { return *entity->getArgument(5); } +void IfcCraneRailAShapeProfileDef::Radius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } double IfcCraneRailAShapeProfileDef::HeadWidth() const { return *entity->getArgument(6); } -void IfcCraneRailAShapeProfileDef::setHeadWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcCraneRailAShapeProfileDef::HeadWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } double IfcCraneRailAShapeProfileDef::HeadDepth2() const { return *entity->getArgument(7); } -void IfcCraneRailAShapeProfileDef::setHeadDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcCraneRailAShapeProfileDef::HeadDepth2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } double IfcCraneRailAShapeProfileDef::HeadDepth3() const { return *entity->getArgument(8); } -void IfcCraneRailAShapeProfileDef::setHeadDepth3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcCraneRailAShapeProfileDef::HeadDepth3(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } double IfcCraneRailAShapeProfileDef::WebThickness() const { return *entity->getArgument(9); } -void IfcCraneRailAShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcCraneRailAShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } double IfcCraneRailAShapeProfileDef::BaseWidth4() const { return *entity->getArgument(10); } -void IfcCraneRailAShapeProfileDef::setBaseWidth4(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcCraneRailAShapeProfileDef::BaseWidth4(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } double IfcCraneRailAShapeProfileDef::BaseDepth1() const { return *entity->getArgument(11); } -void IfcCraneRailAShapeProfileDef::setBaseDepth1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcCraneRailAShapeProfileDef::BaseDepth1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } double IfcCraneRailAShapeProfileDef::BaseDepth2() const { return *entity->getArgument(12); } -void IfcCraneRailAShapeProfileDef::setBaseDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcCraneRailAShapeProfileDef::BaseDepth2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } double IfcCraneRailAShapeProfileDef::BaseDepth3() const { return *entity->getArgument(13); } -void IfcCraneRailAShapeProfileDef::setBaseDepth3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcCraneRailAShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(14)->isNull(); } -double IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(14); } -void IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +void IfcCraneRailAShapeProfileDef::BaseDepth3(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v); } +boost::optional< double > IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(14); } +void IfcCraneRailAShapeProfileDef::CentreOfGravityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } bool IfcCraneRailAShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCraneRailAShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCraneRailAShapeProfileDef::type() const { return Type::IfcCraneRailAShapeProfileDef; } Type::Enum IfcCraneRailAShapeProfileDef::Class() { return Type::IfcCraneRailAShapeProfileDef; } @@ -7992,25 +7892,23 @@ IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcProfileTypeEnum::I // Function implementations for IfcCraneRailFShapeProfileDef double IfcCraneRailFShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } -void IfcCraneRailFShapeProfileDef::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCraneRailFShapeProfileDef::OverallHeight(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcCraneRailFShapeProfileDef::HeadWidth() const { return *entity->getArgument(4); } -void IfcCraneRailFShapeProfileDef::setHeadWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcCraneRailFShapeProfileDef::hasRadius() const { return !entity->getArgument(5)->isNull(); } -double IfcCraneRailFShapeProfileDef::Radius() const { return *entity->getArgument(5); } -void IfcCraneRailFShapeProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcCraneRailFShapeProfileDef::HeadWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< double > IfcCraneRailFShapeProfileDef::Radius() const { return *entity->getArgument(5); } +void IfcCraneRailFShapeProfileDef::Radius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } double IfcCraneRailFShapeProfileDef::HeadDepth2() const { return *entity->getArgument(6); } -void IfcCraneRailFShapeProfileDef::setHeadDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcCraneRailFShapeProfileDef::HeadDepth2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } double IfcCraneRailFShapeProfileDef::HeadDepth3() const { return *entity->getArgument(7); } -void IfcCraneRailFShapeProfileDef::setHeadDepth3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcCraneRailFShapeProfileDef::HeadDepth3(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } double IfcCraneRailFShapeProfileDef::WebThickness() const { return *entity->getArgument(8); } -void IfcCraneRailFShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcCraneRailFShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } double IfcCraneRailFShapeProfileDef::BaseDepth1() const { return *entity->getArgument(9); } -void IfcCraneRailFShapeProfileDef::setBaseDepth1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcCraneRailFShapeProfileDef::BaseDepth1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } double IfcCraneRailFShapeProfileDef::BaseDepth2() const { return *entity->getArgument(10); } -void IfcCraneRailFShapeProfileDef::setBaseDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcCraneRailFShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(11)->isNull(); } -double IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } -void IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcCraneRailFShapeProfileDef::BaseDepth2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } +boost::optional< double > IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } +void IfcCraneRailFShapeProfileDef::CentreOfGravityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcCraneRailFShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCraneRailFShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCraneRailFShapeProfileDef::type() const { return Type::IfcCraneRailFShapeProfileDef; } Type::Enum IfcCraneRailFShapeProfileDef::Class() { return Type::IfcCraneRailFShapeProfileDef; } @@ -8022,11 +7920,11 @@ bool IfcCrewResource::is(Type::Enum v) const { return v == Type::IfcCrewResource Type::Enum IfcCrewResource::type() const { return Type::IfcCrewResource; } Type::Enum IfcCrewResource::Class() { return Type::IfcCrewResource; } IfcCrewResource::IfcCrewResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgPrimitive3D IfcAxis2Placement3D* IfcCsgPrimitive3D::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCsgPrimitive3D::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCsgPrimitive3D::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcCsgPrimitive3D::is(Type::Enum v) const { return v == Type::IfcCsgPrimitive3D || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCsgPrimitive3D::type() const { return Type::IfcCsgPrimitive3D; } Type::Enum IfcCsgPrimitive3D::Class() { return Type::IfcCsgPrimitive3D; } @@ -8035,7 +7933,7 @@ IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeom // Function implementations for IfcCsgSolid IfcCsgSelect* IfcCsgSolid::TreeRootExpression() const { return (IfcCsgSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCsgSolid::TreeRootExpression(IfcCsgSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcCsgSolid::is(Type::Enum v) const { return v == Type::IfcCsgSolid || IfcSolidModel::is(v); } Type::Enum IfcCsgSolid::type() const { return Type::IfcCsgSolid; } Type::Enum IfcCsgSolid::Class() { return Type::IfcCsgSolid; } @@ -8044,32 +7942,31 @@ IfcCsgSolid::IfcCsgSolid(IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((I // Function implementations for IfcCurrencyRelationship IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCurrencyRelationship::setRelatingMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCurrencyRelationship::RelatingMonetaryUnit(IfcMonetaryUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurrencyRelationship::setRelatedMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurrencyRelationship::RelatedMonetaryUnit(IfcMonetaryUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(2); } -void IfcCurrencyRelationship::setExchangeRate(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCurrencyRelationship::ExchangeRate(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcDateAndTime* IfcCurrencyRelationship::RateDateTime() const { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcCurrencyRelationship::setRateDateTime(IfcDateAndTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcCurrencyRelationship::hasRateSource() const { return !entity->getArgument(4)->isNull(); } -IfcLibraryInformation* IfcCurrencyRelationship::RateSource() const { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcCurrencyRelationship::setRateSource(IfcLibraryInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcCurrencyRelationship::RateDateTime(IfcDateAndTime* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< IfcLibraryInformation* > IfcCurrencyRelationship::RateSource() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurrencyRelationship::RateSource(boost::optional< IfcLibraryInformation* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcCurrencyRelationship::is(Type::Enum v) const { return v == Type::IfcCurrencyRelationship; } Type::Enum IfcCurrencyRelationship::type() const { return Type::IfcCurrencyRelationship; } Type::Enum IfcCurrencyRelationship::Class() { return Type::IfcCurrencyRelationship; } IfcCurrencyRelationship::IfcCurrencyRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurrencyRelationship::IfcCurrencyRelationship(IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingMonetaryUnit)); e->setArgument(1,(v2_RelatedMonetaryUnit)); e->setArgument(2,(v3_ExchangeRate)); e->setArgument(3,(v4_RateDateTime)); e->setArgument(4,(v5_RateSource)); entity = e; EntityBuffer::Add(this); } +IfcCurrencyRelationship::IfcCurrencyRelationship(IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, boost::optional< IfcLibraryInformation* > v5_RateSource) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingMonetaryUnit)); e->setArgument(1,(v2_RelatedMonetaryUnit)); e->setArgument(2,(v3_ExchangeRate)); e->setArgument(3,(v4_RateDateTime)); if (v5_RateSource) { e->setArgument(4,(*v5_RateSource)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWall bool IfcCurtainWall::is(Type::Enum v) const { return v == Type::IfcCurtainWall || IfcBuildingElement::is(v); } Type::Enum IfcCurtainWall::type() const { return Type::IfcCurtainWall; } Type::Enum IfcCurtainWall::Class() { return Type::IfcCurtainWall; } IfcCurtainWall::IfcCurtainWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWallType IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallType::PredefinedType() const { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCurtainWallType::setPredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCurtainWallTypeEnum::ToString(v)); } +void IfcCurtainWallType::PredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCurtainWallTypeEnum::ToString(v));; } bool IfcCurtainWallType::is(Type::Enum v) const { return v == Type::IfcCurtainWallType || IfcBuildingElementType::is(v); } Type::Enum IfcCurtainWallType::type() const { return Type::IfcCurtainWallType; } Type::Enum IfcCurtainWallType::Class() { return Type::IfcCurtainWallType; } @@ -8085,11 +7982,11 @@ IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcCurveBoundedPlane IfcPlane* IfcCurveBoundedPlane::BasisSurface() const { return (IfcPlane*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCurveBoundedPlane::setBasisSurface(IfcPlane* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCurveBoundedPlane::BasisSurface(IfcPlane* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCurve* IfcCurveBoundedPlane::OuterBoundary() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurveBoundedPlane::setOuterBoundary(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurveBoundedPlane::OuterBoundary(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTemplatedEntityList< IfcCurve >::ptr IfcCurveBoundedPlane::InnerBoundaries() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcCurveBoundedPlane::setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcCurveBoundedPlane::InnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcCurveBoundedPlane::is(Type::Enum v) const { return v == Type::IfcCurveBoundedPlane || IfcBoundedSurface::is(v); } Type::Enum IfcCurveBoundedPlane::type() const { return Type::IfcCurveBoundedPlane; } Type::Enum IfcCurveBoundedPlane::Class() { return Type::IfcCurveBoundedPlane; } @@ -8097,27 +7994,23 @@ IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcAbstractEntity* e) : IfcBoundedSur IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, IfcTemplatedEntityList< IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_OuterBoundary)); e->setArgument(2,(v3_InnerBoundaries)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyle -bool IfcCurveStyle::hasCurveFont() const { return !entity->getArgument(1)->isNull(); } -IfcCurveFontOrScaledCurveFontSelect* IfcCurveStyle::CurveFont() const { return (IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcCurveStyle::hasCurveWidth() const { return !entity->getArgument(2)->isNull(); } -IfcSizeSelect* IfcCurveStyle::CurveWidth() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCurveStyle::setCurveWidth(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCurveStyle::hasCurveColour() const { return !entity->getArgument(3)->isNull(); } -IfcColour* IfcCurveStyle::CurveColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcCurveStyle::setCurveColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcCurveFontOrScaledCurveFontSelect* > IfcCurveStyle::CurveFont() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurveStyle::CurveFont(boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcSizeSelect* > IfcCurveStyle::CurveWidth() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurveStyle::CurveWidth(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcColour* > IfcCurveStyle::CurveColour() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurveStyle::CurveColour(boost::optional< IfcColour* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcCurveStyle::is(Type::Enum v) const { return v == Type::IfcCurveStyle || IfcPresentationStyle::is(v); } Type::Enum IfcCurveStyle::type() const { return Type::IfcCurveStyle; } Type::Enum IfcCurveStyle::Class() { return Type::IfcCurveStyle; } IfcCurveStyle::IfcCurveStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveWidth)); e->setArgument(3,(v4_CurveColour)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v2_CurveFont, boost::optional< IfcSizeSelect* > v3_CurveWidth, boost::optional< IfcColour* > v4_CurveColour) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFont -bool IfcCurveStyleFont::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFont::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFont::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcCurveStyleFont::PatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcCurveStyleFont::is(Type::Enum v) const { return v == Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::type() const { return Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::Class() { return Type::IfcCurveStyleFont; } @@ -8125,13 +8018,12 @@ IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntity* e) : IfcUtil::IfcBaseEnt IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontAndScaling -bool IfcCurveStyleFontAndScaling::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFontAndScaling::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFontAndScaling::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcCurveStyleFontSelect* IfcCurveStyleFontAndScaling::CurveFont() const { return (IfcCurveStyleFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurveStyleFontAndScaling::CurveFont(IfcCurveStyleFontSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } -void IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCurveStyleFontAndScaling::CurveFontScaling(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcCurveStyleFontAndScaling::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::type() const { return Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::Class() { return Type::IfcCurveStyleFontAndScaling; } @@ -8140,9 +8032,9 @@ IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::s // Function implementations for IfcCurveStyleFontPattern double IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } -void IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCurveStyleFontPattern::VisibleSegmentLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } -void IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurveStyleFontPattern::InvisibleSegmentLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCurveStyleFontPattern::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::type() const { return Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::Class() { return Type::IfcCurveStyleFontPattern; } @@ -8151,7 +8043,7 @@ IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLengt // Function implementations for IfcDamperType IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperType::PredefinedType() const { return IfcDamperTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDamperType::setPredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDamperTypeEnum::ToString(v)); } +void IfcDamperType::PredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDamperTypeEnum::ToString(v));; } bool IfcDamperType::is(Type::Enum v) const { return v == Type::IfcDamperType || IfcFlowControllerType::is(v); } Type::Enum IfcDamperType::type() const { return Type::IfcDamperType; } Type::Enum IfcDamperType::Class() { return Type::IfcDamperType; } @@ -8160,9 +8052,9 @@ IfcDamperType::IfcDamperType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcDateAndTime IfcCalendarDate* IfcDateAndTime::DateComponent() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcDateAndTime::setDateComponent(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDateAndTime::DateComponent(IfcCalendarDate* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcLocalTime* IfcDateAndTime::TimeComponent() const { return (IfcLocalTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcDateAndTime::setTimeComponent(IfcLocalTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcDateAndTime::TimeComponent(IfcLocalTime* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcDateAndTime::is(Type::Enum v) const { return v == Type::IfcDateAndTime; } Type::Enum IfcDateAndTime::type() const { return Type::IfcDateAndTime; } Type::Enum IfcDateAndTime::Class() { return Type::IfcDateAndTime; } @@ -8171,9 +8063,9 @@ IfcDateAndTime::IfcDateAndTime(IfcCalendarDate* v1_DateComponent, IfcLocalTime* // Function implementations for IfcDefinedSymbol IfcDefinedSymbolSelect* IfcDefinedSymbol::Definition() const { return (IfcDefinedSymbolSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcDefinedSymbol::setDefinition(IfcDefinedSymbolSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDefinedSymbol::Definition(IfcDefinedSymbolSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCartesianTransformationOperator2D* IfcDefinedSymbol::Target() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcDefinedSymbol::setTarget(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcDefinedSymbol::Target(IfcCartesianTransformationOperator2D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcDefinedSymbol || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDefinedSymbol::type() const { return Type::IfcDefinedSymbol; } Type::Enum IfcDefinedSymbol::Class() { return Type::IfcDefinedSymbol; } @@ -8182,12 +8074,11 @@ IfcDefinedSymbol::IfcDefinedSymbol(IfcDefinedSymbolSelect* v1_Definition, IfcCar // Function implementations for IfcDerivedProfileDef IfcProfileDef* IfcDerivedProfileDef::ParentProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcDerivedProfileDef::setParentProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDerivedProfileDef::ParentProfile(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcCartesianTransformationOperator2D* IfcDerivedProfileDef::Operator() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcDerivedProfileDef::setOperator(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcDerivedProfileDef::hasLabel() const { return !entity->getArgument(4)->isNull(); } -std::string IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } -void IfcDerivedProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcDerivedProfileDef::Operator(IfcCartesianTransformationOperator2D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } +void IfcDerivedProfileDef::Label(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcDerivedProfileDef::is(Type::Enum v) const { return v == Type::IfcDerivedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDef; } Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } @@ -8196,12 +8087,11 @@ IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnu // Function implementations for IfcDerivedUnit IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr IfcDerivedUnit::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcDerivedUnit::setElements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcDerivedUnit::Elements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() const { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } -void IfcDerivedUnit::setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcDerivedUnitEnum::ToString(v)); } -bool IfcDerivedUnit::hasUserDefinedType() const { return !entity->getArgument(2)->isNull(); } -std::string IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } -void IfcDerivedUnit::setUserDefinedType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDerivedUnit::UnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcDerivedUnitEnum::ToString(v));; } +boost::optional< std::string > IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } +void IfcDerivedUnit::UserDefinedType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcDerivedUnit::is(Type::Enum v) const { return v == Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::type() const { return Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::Class() { return Type::IfcDerivedUnit; } @@ -8210,9 +8100,9 @@ IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >:: // Function implementations for IfcDerivedUnitElement IfcNamedUnit* IfcDerivedUnitElement::Unit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcDerivedUnitElement::setUnit(IfcNamedUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDerivedUnitElement::Unit(IfcNamedUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } int IfcDerivedUnitElement::Exponent() const { return *entity->getArgument(1); } -void IfcDerivedUnitElement::setExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcDerivedUnitElement::Exponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcDerivedUnitElement::is(Type::Enum v) const { return v == Type::IfcDerivedUnitElement; } Type::Enum IfcDerivedUnitElement::type() const { return Type::IfcDerivedUnitElement; } Type::Enum IfcDerivedUnitElement::Class() { return Type::IfcDerivedUnitElement; } @@ -8239,7 +8129,7 @@ bool IfcDimensionCurve::is(Type::Enum v) const { return v == Type::IfcDimensionC Type::Enum IfcDimensionCurve::type() const { return Type::IfcDimensionCurve; } Type::Enum IfcDimensionCurve::Class() { return Type::IfcDimensionCurve; } IfcDimensionCurve::IfcDimensionCurve(IfcAbstractEntity* e) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCurve::IfcDimensionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDimensionCurve::IfcDimensionCurve(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionCurveDirectedCallout bool IfcDimensionCurveDirectedCallout::is(Type::Enum v) const { return v == Type::IfcDimensionCurveDirectedCallout || IfcDraughtingCallout::is(v); } @@ -8250,12 +8140,12 @@ IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcEntityList // Function implementations for IfcDimensionCurveTerminator IfcDimensionExtentUsage::IfcDimensionExtentUsage IfcDimensionCurveTerminator::Role() const { return IfcDimensionExtentUsage::FromString(*entity->getArgument(4)); } -void IfcDimensionCurveTerminator::setRole(IfcDimensionExtentUsage::IfcDimensionExtentUsage v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcDimensionExtentUsage::ToString(v)); } +void IfcDimensionCurveTerminator::Role(IfcDimensionExtentUsage::IfcDimensionExtentUsage v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcDimensionExtentUsage::ToString(v));; } bool IfcDimensionCurveTerminator::is(Type::Enum v) const { return v == Type::IfcDimensionCurveTerminator || IfcTerminatorSymbol::is(v); } Type::Enum IfcDimensionCurveTerminator::type() const { return Type::IfcDimensionCurveTerminator; } Type::Enum IfcDimensionCurveTerminator::Class() { return Type::IfcDimensionCurveTerminator; } IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcAbstractEntity* e) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurveTerminator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); e->setArgument(4,v5_Role,IfcDimensionExtentUsage::ToString(v5_Role)); entity = e; EntityBuffer::Add(this); } +IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); e->setArgument(4,v5_Role,IfcDimensionExtentUsage::ToString(v5_Role)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionPair bool IfcDimensionPair::is(Type::Enum v) const { return v == Type::IfcDimensionPair || IfcDraughtingCalloutRelationship::is(v); } @@ -8266,19 +8156,19 @@ IfcDimensionPair::IfcDimensionPair(boost::optional< std::string > v1_Name, boost // Function implementations for IfcDimensionalExponents int IfcDimensionalExponents::LengthExponent() const { return *entity->getArgument(0); } -void IfcDimensionalExponents::setLengthExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDimensionalExponents::LengthExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } int IfcDimensionalExponents::MassExponent() const { return *entity->getArgument(1); } -void IfcDimensionalExponents::setMassExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcDimensionalExponents::MassExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } int IfcDimensionalExponents::TimeExponent() const { return *entity->getArgument(2); } -void IfcDimensionalExponents::setTimeExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDimensionalExponents::TimeExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } int IfcDimensionalExponents::ElectricCurrentExponent() const { return *entity->getArgument(3); } -void IfcDimensionalExponents::setElectricCurrentExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcDimensionalExponents::ElectricCurrentExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } int IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { return *entity->getArgument(4); } -void IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcDimensionalExponents::ThermodynamicTemperatureExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } int IfcDimensionalExponents::AmountOfSubstanceExponent() const { return *entity->getArgument(5); } -void IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcDimensionalExponents::AmountOfSubstanceExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } int IfcDimensionalExponents::LuminousIntensityExponent() const { return *entity->getArgument(6); } -void IfcDimensionalExponents::setLuminousIntensityExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcDimensionalExponents::LuminousIntensityExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcDimensionalExponents::is(Type::Enum v) const { return v == Type::IfcDimensionalExponents; } Type::Enum IfcDimensionalExponents::type() const { return Type::IfcDimensionalExponents; } Type::Enum IfcDimensionalExponents::Class() { return Type::IfcDimensionalExponents; } @@ -8287,7 +8177,7 @@ IfcDimensionalExponents::IfcDimensionalExponents(int v1_LengthExponent, int v2_M // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ IfcDirection::DirectionRatios() const { return *entity->getArgument(0); } -void IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDirection::DirectionRatios(std::vector< double > /*[2:3]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcDirection::is(Type::Enum v) const { return v == Type::IfcDirection || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDirection::type() const { return Type::IfcDirection; } Type::Enum IfcDirection::Class() { return Type::IfcDirection; } @@ -8299,7 +8189,7 @@ bool IfcDiscreteAccessory::is(Type::Enum v) const { return v == Type::IfcDiscret Type::Enum IfcDiscreteAccessory::type() const { return Type::IfcDiscreteAccessory; } Type::Enum IfcDiscreteAccessory::Class() { return Type::IfcDiscreteAccessory; } IfcDiscreteAccessory::IfcDiscreteAccessory(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessoryType bool IfcDiscreteAccessoryType::is(Type::Enum v) const { return v == Type::IfcDiscreteAccessoryType || IfcElementComponentType::is(v); } @@ -8313,11 +8203,11 @@ bool IfcDistributionChamberElement::is(Type::Enum v) const { return v == Type::I Type::Enum IfcDistributionChamberElement::type() const { return Type::IfcDistributionChamberElement; } Type::Enum IfcDistributionChamberElement::Class() { return Type::IfcDistributionChamberElement; } IfcDistributionChamberElement::IfcDistributionChamberElement(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElementType IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementType::PredefinedType() const { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDistributionChamberElementType::setPredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDistributionChamberElementTypeEnum::ToString(v)); } +void IfcDistributionChamberElementType::PredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDistributionChamberElementTypeEnum::ToString(v));; } bool IfcDistributionChamberElementType::is(Type::Enum v) const { return v == Type::IfcDistributionChamberElementType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcDistributionChamberElementType::type() const { return Type::IfcDistributionChamberElementType; } Type::Enum IfcDistributionChamberElementType::Class() { return Type::IfcDistributionChamberElementType; } @@ -8325,15 +8215,14 @@ IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcAbstract IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElement -bool IfcDistributionControlElement::hasControlElementId() const { return !entity->getArgument(8)->isNull(); } -std::string IfcDistributionControlElement::ControlElementId() const { return *entity->getArgument(8); } -void IfcDistributionControlElement::setControlElementId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcDistributionControlElement::ControlElementId() const { return *entity->getArgument(8); } +void IfcDistributionControlElement::ControlElementId(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return entity->getInverse(Type::IfcRelFlowControlElements, 4)->as(); } bool IfcDistributionControlElement::is(Type::Enum v) const { return v == Type::IfcDistributionControlElement || IfcDistributionElement::is(v); } Type::Enum IfcDistributionControlElement::type() const { return Type::IfcDistributionControlElement; } Type::Enum IfcDistributionControlElement::Class() { return Type::IfcDistributionControlElement; } IfcDistributionControlElement::IfcDistributionControlElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ControlElementId) { e->setArgument(8,(*v9_ControlElementId)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ControlElementId) { e->setArgument(8,(*v9_ControlElementId)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElementType bool IfcDistributionControlElementType::is(Type::Enum v) const { return v == Type::IfcDistributionControlElementType || IfcDistributionElementType::is(v); } @@ -8347,7 +8236,7 @@ bool IfcDistributionElement::is(Type::Enum v) const { return v == Type::IfcDistr Type::Enum IfcDistributionElement::type() const { return Type::IfcDistributionElement; } Type::Enum IfcDistributionElement::Class() { return Type::IfcDistributionElement; } IfcDistributionElement::IfcDistributionElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElementType bool IfcDistributionElementType::is(Type::Enum v) const { return v == Type::IfcDistributionElementType || IfcElementType::is(v); } @@ -8362,7 +8251,7 @@ bool IfcDistributionFlowElement::is(Type::Enum v) const { return v == Type::IfcD Type::Enum IfcDistributionFlowElement::type() const { return Type::IfcDistributionFlowElement; } Type::Enum IfcDistributionFlowElement::Class() { return Type::IfcDistributionFlowElement; } IfcDistributionFlowElement::IfcDistributionFlowElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElementType bool IfcDistributionFlowElementType::is(Type::Enum v) const { return v == Type::IfcDistributionFlowElementType || IfcDistributionElementType::is(v); } @@ -8372,25 +8261,21 @@ IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcAbstractEntity IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionPort -bool IfcDistributionPort::hasFlowDirection() const { return !entity->getArgument(7)->isNull(); } -IfcFlowDirectionEnum::IfcFlowDirectionEnum IfcDistributionPort::FlowDirection() const { return IfcFlowDirectionEnum::FromString(*entity->getArgument(7)); } -void IfcDistributionPort::setFlowDirection(IfcFlowDirectionEnum::IfcFlowDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcFlowDirectionEnum::ToString(v)); } +boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > IfcDistributionPort::FlowDirection() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcFlowDirectionEnum::FromString(*arg); } } +void IfcDistributionPort::FlowDirection(boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcFlowDirectionEnum::ToString(*v));; } else { w->setArgument(7); } } bool IfcDistributionPort::is(Type::Enum v) const { return v == Type::IfcDistributionPort || IfcPort::is(v); } Type::Enum IfcDistributionPort::type() const { return Type::IfcDistributionPort; } Type::Enum IfcDistributionPort::Class() { return Type::IfcDistributionPort; } IfcDistributionPort::IfcDistributionPort(IfcAbstractEntity* e) : IfcPort((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentElectronicFormat -bool IfcDocumentElectronicFormat::hasFileExtension() const { return !entity->getArgument(0)->isNull(); } -std::string IfcDocumentElectronicFormat::FileExtension() const { return *entity->getArgument(0); } -void IfcDocumentElectronicFormat::setFileExtension(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcDocumentElectronicFormat::hasMimeContentType() const { return !entity->getArgument(1)->isNull(); } -std::string IfcDocumentElectronicFormat::MimeContentType() const { return *entity->getArgument(1); } -void IfcDocumentElectronicFormat::setMimeContentType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcDocumentElectronicFormat::hasMimeSubtype() const { return !entity->getArgument(2)->isNull(); } -std::string IfcDocumentElectronicFormat::MimeSubtype() const { return *entity->getArgument(2); } -void IfcDocumentElectronicFormat::setMimeSubtype(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcDocumentElectronicFormat::FileExtension() const { return *entity->getArgument(0); } +void IfcDocumentElectronicFormat::FileExtension(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcDocumentElectronicFormat::MimeContentType() const { return *entity->getArgument(1); } +void IfcDocumentElectronicFormat::MimeContentType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcDocumentElectronicFormat::MimeSubtype() const { return *entity->getArgument(2); } +void IfcDocumentElectronicFormat::MimeSubtype(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcDocumentElectronicFormat::is(Type::Enum v) const { return v == Type::IfcDocumentElectronicFormat; } Type::Enum IfcDocumentElectronicFormat::type() const { return Type::IfcDocumentElectronicFormat; } Type::Enum IfcDocumentElectronicFormat::Class() { return Type::IfcDocumentElectronicFormat; } @@ -8399,70 +8284,54 @@ IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(boost::optional< std::s // Function implementations for IfcDocumentInformation std::string IfcDocumentInformation::DocumentId() const { return *entity->getArgument(0); } -void IfcDocumentInformation::setDocumentId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDocumentInformation::DocumentId(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcDocumentInformation::Name() const { return *entity->getArgument(1); } -void IfcDocumentInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcDocumentInformation::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcDocumentInformation::Description() const { return *entity->getArgument(2); } -void IfcDocumentInformation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcDocumentInformation::hasDocumentReferences() const { return !entity->getArgument(3)->isNull(); } -IfcTemplatedEntityList< IfcDocumentReference >::ptr IfcDocumentInformation::DocumentReferences() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcDocumentInformation::setDocumentReferences(IfcTemplatedEntityList< IfcDocumentReference >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcDocumentInformation::hasPurpose() const { return !entity->getArgument(4)->isNull(); } -std::string IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } -void IfcDocumentInformation::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDocumentInformation::hasIntendedUse() const { return !entity->getArgument(5)->isNull(); } -std::string IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } -void IfcDocumentInformation::setIntendedUse(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDocumentInformation::hasScope() const { return !entity->getArgument(6)->isNull(); } -std::string IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } -void IfcDocumentInformation::setScope(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDocumentInformation::hasRevision() const { return !entity->getArgument(7)->isNull(); } -std::string IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } -void IfcDocumentInformation::setRevision(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDocumentInformation::hasDocumentOwner() const { return !entity->getArgument(8)->isNull(); } -IfcActorSelect* IfcDocumentInformation::DocumentOwner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcDocumentInformation::setDocumentOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDocumentInformation::hasEditors() const { return !entity->getArgument(9)->isNull(); } -IfcEntityList::ptr IfcDocumentInformation::Editors() const { return *entity->getArgument(9); } -void IfcDocumentInformation::setEditors(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDocumentInformation::hasCreationTime() const { return !entity->getArgument(10)->isNull(); } -IfcDateAndTime* IfcDocumentInformation::CreationTime() const { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcDocumentInformation::setCreationTime(IfcDateAndTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDocumentInformation::hasLastRevisionTime() const { return !entity->getArgument(11)->isNull(); } -IfcDateAndTime* IfcDocumentInformation::LastRevisionTime() const { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcDocumentInformation::setLastRevisionTime(IfcDateAndTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDocumentInformation::hasElectronicFormat() const { return !entity->getArgument(12)->isNull(); } -IfcDocumentElectronicFormat* IfcDocumentInformation::ElectronicFormat() const { return (IfcDocumentElectronicFormat*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcDocumentInformation::setElectronicFormat(IfcDocumentElectronicFormat* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDocumentInformation::hasValidFrom() const { return !entity->getArgument(13)->isNull(); } -IfcCalendarDate* IfcDocumentInformation::ValidFrom() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } -void IfcDocumentInformation::setValidFrom(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDocumentInformation::hasValidUntil() const { return !entity->getArgument(14)->isNull(); } -IfcCalendarDate* IfcDocumentInformation::ValidUntil() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } -void IfcDocumentInformation::setValidUntil(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcDocumentInformation::hasConfidentiality() const { return !entity->getArgument(15)->isNull(); } -IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum IfcDocumentInformation::Confidentiality() const { return IfcDocumentConfidentialityEnum::FromString(*entity->getArgument(15)); } -void IfcDocumentInformation::setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v,IfcDocumentConfidentialityEnum::ToString(v)); } -bool IfcDocumentInformation::hasStatus() const { return !entity->getArgument(16)->isNull(); } -IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentInformation::Status() const { return IfcDocumentStatusEnum::FromString(*entity->getArgument(16)); } -void IfcDocumentInformation::setStatus(IfcDocumentStatusEnum::IfcDocumentStatusEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v,IfcDocumentStatusEnum::ToString(v)); } +void IfcDocumentInformation::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcDocumentInformation::Description() const { return *entity->getArgument(2); } +void IfcDocumentInformation::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > IfcDocumentInformation::DocumentReferences() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcDocumentInformation::DocumentReferences(boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,(*v)->generalize());; } else { w->setArgument(3); } } +boost::optional< std::string > IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } +void IfcDocumentInformation::Purpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } +void IfcDocumentInformation::IntendedUse(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } +void IfcDocumentInformation::Scope(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } +void IfcDocumentInformation::Revision(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcActorSelect* > IfcDocumentInformation::DocumentOwner() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::DocumentOwner(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcEntityList::ptr > IfcDocumentInformation::Editors() const { return *entity->getArgument(9); } +void IfcDocumentInformation::Editors(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcDateAndTime* > IfcDocumentInformation::CreationTime() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::CreationTime(boost::optional< IfcDateAndTime* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcDateAndTime* > IfcDocumentInformation::LastRevisionTime() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::LastRevisionTime(boost::optional< IfcDateAndTime* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcDocumentElectronicFormat* > IfcDocumentInformation::ElectronicFormat() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return (IfcDocumentElectronicFormat*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::ElectronicFormat(boost::optional< IfcDocumentElectronicFormat* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcCalendarDate* > IfcDocumentInformation::ValidFrom() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::ValidFrom(boost::optional< IfcCalendarDate* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< IfcCalendarDate* > IfcDocumentInformation::ValidUntil() const { Argument* arg = entity->getArgument(14); if (arg->isNull()) { return boost::none; } else { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::ValidUntil(boost::optional< IfcCalendarDate* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > IfcDocumentInformation::Confidentiality() const { Argument* arg = entity->getArgument(15); if (arg->isNull()) { return boost::none; } else { return IfcDocumentConfidentialityEnum::FromString(*arg); } } +void IfcDocumentInformation::Confidentiality(boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v,IfcDocumentConfidentialityEnum::ToString(*v));; } else { w->setArgument(15); } } +boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > IfcDocumentInformation::Status() const { Argument* arg = entity->getArgument(16); if (arg->isNull()) { return boost::none; } else { return IfcDocumentStatusEnum::FromString(*arg); } } +void IfcDocumentInformation::Status(boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v,IfcDocumentStatusEnum::ToString(*v));; } else { w->setArgument(16); } } IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return entity->getInverse(Type::IfcDocumentInformationRelationship, 1)->as(); } IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return entity->getInverse(Type::IfcDocumentInformationRelationship, 0)->as(); } bool IfcDocumentInformation::is(Type::Enum v) const { return v == Type::IfcDocumentInformation; } Type::Enum IfcDocumentInformation::type() const { return Type::IfcDocumentInformation; } Type::Enum IfcDocumentInformation::Class() { return Type::IfcDocumentInformation; } IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DocumentId)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_DocumentReferences) { e->setArgument(3,(*v4_DocumentReferences)->generalize()); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } e->setArgument(8,(v9_DocumentOwner)); if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } e->setArgument(10,(v11_CreationTime)); e->setArgument(11,(v12_LastRevisionTime)); e->setArgument(12,(v13_ElectronicFormat)); e->setArgument(13,(v14_ValidFrom)); e->setArgument(14,(v15_ValidUntil)); if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, boost::optional< IfcActorSelect* > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< IfcDateAndTime* > v11_CreationTime, boost::optional< IfcDateAndTime* > v12_LastRevisionTime, boost::optional< IfcDocumentElectronicFormat* > v13_ElectronicFormat, boost::optional< IfcCalendarDate* > v14_ValidFrom, boost::optional< IfcCalendarDate* > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DocumentId)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_DocumentReferences) { e->setArgument(3,(*v4_DocumentReferences)->generalize()); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformationRelationship IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcDocumentInformationRelationship::setRelatingDocument(IfcDocumentInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDocumentInformationRelationship::RelatingDocument(IfcDocumentInformation* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcDocumentInformation >::ptr IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcDocumentInformationRelationship::hasRelationshipType() const { return !entity->getArgument(2)->isNull(); } -std::string IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(2); } -void IfcDocumentInformationRelationship::setRelationshipType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDocumentInformationRelationship::RelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } +boost::optional< std::string > IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(2); } +void IfcDocumentInformationRelationship::RelationshipType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::type() const { return Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::Class() { return Type::IfcDocumentInformationRelationship; } @@ -8478,87 +8347,71 @@ IfcDocumentReference::IfcDocumentReference(IfcAbstractEntity* e) : IfcExternalRe IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoor -bool IfcDoor::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -double IfcDoor::OverallHeight() const { return *entity->getArgument(8); } -void IfcDoor::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoor::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -double IfcDoor::OverallWidth() const { return *entity->getArgument(9); } -void IfcDoor::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcDoor::OverallHeight() const { return *entity->getArgument(8); } +void IfcDoor::OverallHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcDoor::OverallWidth() const { return *entity->getArgument(9); } +void IfcDoor::OverallWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcDoor::is(Type::Enum v) const { return v == Type::IfcDoor || IfcBuildingElement::is(v); } Type::Enum IfcDoor::type() const { return Type::IfcDoor; } Type::Enum IfcDoor::Class() { return Type::IfcDoor; } IfcDoor::IfcDoor(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoor::IfcDoor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcDoor::IfcDoor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorLiningProperties -bool IfcDoorLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -double IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcDoorLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDoorLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -double IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcDoorLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDoorLiningProperties::hasThresholdDepth() const { return !entity->getArgument(6)->isNull(); } -double IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } -void IfcDoorLiningProperties::setThresholdDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDoorLiningProperties::hasThresholdThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } -void IfcDoorLiningProperties::setThresholdThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDoorLiningProperties::hasTransomThickness() const { return !entity->getArgument(8)->isNull(); } -double IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } -void IfcDoorLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoorLiningProperties::hasTransomOffset() const { return !entity->getArgument(9)->isNull(); } -double IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } -void IfcDoorLiningProperties::setTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDoorLiningProperties::hasLiningOffset() const { return !entity->getArgument(10)->isNull(); } -double IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } -void IfcDoorLiningProperties::setLiningOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDoorLiningProperties::hasThresholdOffset() const { return !entity->getArgument(11)->isNull(); } -double IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } -void IfcDoorLiningProperties::setThresholdOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDoorLiningProperties::hasCasingThickness() const { return !entity->getArgument(12)->isNull(); } -double IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } -void IfcDoorLiningProperties::setCasingThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDoorLiningProperties::hasCasingDepth() const { return !entity->getArgument(13)->isNull(); } -double IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } -void IfcDoorLiningProperties::setCasingDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDoorLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(14)->isNull(); } -IfcShapeAspect* IfcDoorLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } -void IfcDoorLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +boost::optional< double > IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcDoorLiningProperties::LiningDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcDoorLiningProperties::LiningThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } +void IfcDoorLiningProperties::ThresholdDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } +void IfcDoorLiningProperties::ThresholdThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } +void IfcDoorLiningProperties::TransomThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } +void IfcDoorLiningProperties::TransomOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } +void IfcDoorLiningProperties::LiningOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } +void IfcDoorLiningProperties::ThresholdOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } +void IfcDoorLiningProperties::CasingThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } +void IfcDoorLiningProperties::CasingDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< IfcShapeAspect* > IfcDoorLiningProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(14); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDoorLiningProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } bool IfcDoorLiningProperties::is(Type::Enum v) const { return v == Type::IfcDoorLiningProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcDoorLiningProperties::type() const { return Type::IfcDoorLiningProperties; } Type::Enum IfcDoorLiningProperties::Class() { return Type::IfcDoorLiningProperties; } IfcDoorLiningProperties::IfcDoorLiningProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, boost::optional< IfcShapeAspect* > v15_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } if (v15_ShapeAspectStyle) { e->setArgument(14,(*v15_ShapeAspectStyle)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorPanelProperties -bool IfcDoorPanelProperties::hasPanelDepth() const { return !entity->getArgument(4)->isNull(); } -double IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } -void IfcDoorPanelProperties::setPanelDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } +void IfcDoorPanelProperties::PanelDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelProperties::PanelOperation() const { return IfcDoorPanelOperationEnum::FromString(*entity->getArgument(5)); } -void IfcDoorPanelProperties::setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDoorPanelOperationEnum::ToString(v)); } -bool IfcDoorPanelProperties::hasPanelWidth() const { return !entity->getArgument(6)->isNull(); } -double IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } -void IfcDoorPanelProperties::setPanelWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcDoorPanelProperties::PanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcDoorPanelOperationEnum::ToString(v));; } +boost::optional< double > IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } +void IfcDoorPanelProperties::PanelWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelProperties::PanelPosition() const { return IfcDoorPanelPositionEnum::FromString(*entity->getArgument(7)); } -void IfcDoorPanelProperties::setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcDoorPanelPositionEnum::ToString(v)); } -bool IfcDoorPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcDoorPanelProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcDoorPanelProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcDoorPanelProperties::PanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcDoorPanelPositionEnum::ToString(v));; } +boost::optional< IfcShapeAspect* > IfcDoorPanelProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDoorPanelProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcDoorPanelProperties::is(Type::Enum v) const { return v == Type::IfcDoorPanelProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcDoorPanelProperties::type() const { return Type::IfcDoorPanelProperties; } Type::Enum IfcDoorPanelProperties::Class() { return Type::IfcDoorPanelProperties; } IfcDoorPanelProperties::IfcDoorPanelProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); if (v9_ShapeAspectStyle) { e->setArgument(8,(*v9_ShapeAspectStyle)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStyle IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyle::OperationType() const { return IfcDoorStyleOperationEnum::FromString(*entity->getArgument(8)); } -void IfcDoorStyle::setOperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDoorStyleOperationEnum::ToString(v)); } +void IfcDoorStyle::OperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcDoorStyleOperationEnum::ToString(v));; } IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum IfcDoorStyle::ConstructionType() const { return IfcDoorStyleConstructionEnum::FromString(*entity->getArgument(9)); } -void IfcDoorStyle::setConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDoorStyleConstructionEnum::ToString(v)); } +void IfcDoorStyle::ConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDoorStyleConstructionEnum::ToString(v));; } bool IfcDoorStyle::ParameterTakesPrecedence() const { return *entity->getArgument(10); } -void IfcDoorStyle::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcDoorStyle::ParameterTakesPrecedence(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcDoorStyle::Sizeable() const { return *entity->getArgument(11); } -void IfcDoorStyle::setSizeable(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcDoorStyle::Sizeable(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } bool IfcDoorStyle::is(Type::Enum v) const { return v == Type::IfcDoorStyle || IfcTypeProduct::is(v); } Type::Enum IfcDoorStyle::type() const { return Type::IfcDoorStyle; } Type::Enum IfcDoorStyle::Class() { return Type::IfcDoorStyle; } @@ -8567,7 +8420,7 @@ IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHis // Function implementations for IfcDraughtingCallout IfcEntityList::ptr IfcDraughtingCallout::Contents() const { return *entity->getArgument(0); } -void IfcDraughtingCallout::setContents(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDraughtingCallout::Contents(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedFromCallout() const { return entity->getInverse(Type::IfcDraughtingCalloutRelationship, 3)->as(); } IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedToCallout() const { return entity->getInverse(Type::IfcDraughtingCalloutRelationship, 2)->as(); } bool IfcDraughtingCallout::is(Type::Enum v) const { return v == Type::IfcDraughtingCallout || IfcGeometricRepresentationItem::is(v); } @@ -8577,16 +8430,14 @@ IfcDraughtingCallout::IfcDraughtingCallout(IfcAbstractEntity* e) : IfcGeometricR IfcDraughtingCallout::IfcDraughtingCallout(IfcEntityList::ptr v1_Contents) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingCalloutRelationship -bool IfcDraughtingCalloutRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcDraughtingCalloutRelationship::Name() const { return *entity->getArgument(0); } -void IfcDraughtingCalloutRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcDraughtingCalloutRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcDraughtingCalloutRelationship::Description() const { return *entity->getArgument(1); } -void IfcDraughtingCalloutRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcDraughtingCalloutRelationship::Name() const { return *entity->getArgument(0); } +void IfcDraughtingCalloutRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcDraughtingCalloutRelationship::Description() const { return *entity->getArgument(1); } +void IfcDraughtingCalloutRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return (IfcDraughtingCallout*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(IfcDraughtingCallout* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDraughtingCalloutRelationship::RelatingDraughtingCallout(IfcDraughtingCallout* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return (IfcDraughtingCallout*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcDraughtingCalloutRelationship::setRelatedDraughtingCallout(IfcDraughtingCallout* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcDraughtingCalloutRelationship::RelatedDraughtingCallout(IfcDraughtingCallout* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcDraughtingCalloutRelationship::is(Type::Enum v) const { return v == Type::IfcDraughtingCalloutRelationship; } Type::Enum IfcDraughtingCalloutRelationship::type() const { return Type::IfcDraughtingCalloutRelationship; } Type::Enum IfcDraughtingCalloutRelationship::Class() { return Type::IfcDraughtingCalloutRelationship; } @@ -8616,7 +8467,7 @@ IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(std::string v1_ // Function implementations for IfcDuctFittingType IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingType::PredefinedType() const { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDuctFittingType::setPredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDuctFittingTypeEnum::ToString(v)); } +void IfcDuctFittingType::PredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDuctFittingTypeEnum::ToString(v));; } bool IfcDuctFittingType::is(Type::Enum v) const { return v == Type::IfcDuctFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcDuctFittingType::type() const { return Type::IfcDuctFittingType; } Type::Enum IfcDuctFittingType::Class() { return Type::IfcDuctFittingType; } @@ -8625,7 +8476,7 @@ IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcDuctSegmentType IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentType::PredefinedType() const { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDuctSegmentType::setPredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDuctSegmentTypeEnum::ToString(v)); } +void IfcDuctSegmentType::PredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDuctSegmentTypeEnum::ToString(v));; } bool IfcDuctSegmentType::is(Type::Enum v) const { return v == Type::IfcDuctSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcDuctSegmentType::type() const { return Type::IfcDuctSegmentType; } Type::Enum IfcDuctSegmentType::Class() { return Type::IfcDuctSegmentType; } @@ -8634,7 +8485,7 @@ IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcDuctSilencerType IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerType::PredefinedType() const { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDuctSilencerType::setPredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDuctSilencerTypeEnum::ToString(v)); } +void IfcDuctSilencerType::PredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDuctSilencerTypeEnum::ToString(v));; } bool IfcDuctSilencerType::is(Type::Enum v) const { return v == Type::IfcDuctSilencerType || IfcFlowTreatmentDeviceType::is(v); } Type::Enum IfcDuctSilencerType::type() const { return Type::IfcDuctSilencerType; } Type::Enum IfcDuctSilencerType::Class() { return Type::IfcDuctSilencerType; } @@ -8643,9 +8494,9 @@ IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcEdge IfcVertex* IfcEdge::EdgeStart() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcEdge::setEdgeStart(IfcVertex* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcEdge::EdgeStart(IfcVertex* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcVertex* IfcEdge::EdgeEnd() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcEdge::setEdgeEnd(IfcVertex* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcEdge::EdgeEnd(IfcVertex* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcEdge::is(Type::Enum v) const { return v == Type::IfcEdge || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcEdge::type() const { return Type::IfcEdge; } Type::Enum IfcEdge::Class() { return Type::IfcEdge; } @@ -8654,9 +8505,9 @@ IfcEdge::IfcEdge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd) : IfcTopologica // Function implementations for IfcEdgeCurve IfcCurve* IfcEdgeCurve::EdgeGeometry() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcEdgeCurve::setEdgeGeometry(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcEdgeCurve::EdgeGeometry(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcEdgeCurve::SameSense() const { return *entity->getArgument(3); } -void IfcEdgeCurve::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcEdgeCurve::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcEdgeCurve::is(Type::Enum v) const { return v == Type::IfcEdgeCurve || IfcEdge::is(v); } Type::Enum IfcEdgeCurve::type() const { return Type::IfcEdgeCurve; } Type::Enum IfcEdgeCurve::Class() { return Type::IfcEdgeCurve; } @@ -8664,18 +8515,17 @@ IfcEdgeCurve::IfcEdgeCurve(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0 IfcEdgeCurve::IfcEdgeCurve(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); e->setArgument(2,(v3_EdgeGeometry)); e->setArgument(3,(v4_SameSense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdgeFeature -bool IfcEdgeFeature::hasFeatureLength() const { return !entity->getArgument(8)->isNull(); } -double IfcEdgeFeature::FeatureLength() const { return *entity->getArgument(8); } -void IfcEdgeFeature::setFeatureLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< double > IfcEdgeFeature::FeatureLength() const { return *entity->getArgument(8); } +void IfcEdgeFeature::FeatureLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcEdgeFeature::is(Type::Enum v) const { return v == Type::IfcEdgeFeature || IfcFeatureElementSubtraction::is(v); } Type::Enum IfcEdgeFeature::type() const { return Type::IfcEdgeFeature; } Type::Enum IfcEdgeFeature::Class() { return Type::IfcEdgeFeature; } IfcEdgeFeature::IfcEdgeFeature(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeFeature::IfcEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEdgeFeature::IfcEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdgeLoop IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcEdgeLoop::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcEdgeLoop::setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcEdgeLoop::EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcEdgeLoop::is(Type::Enum v) const { return v == Type::IfcEdgeLoop || IfcLoop::is(v); } Type::Enum IfcEdgeLoop::type() const { return Type::IfcEdgeLoop; } Type::Enum IfcEdgeLoop::Class() { return Type::IfcEdgeLoop; } @@ -8684,7 +8534,7 @@ IfcEdgeLoop::IfcEdgeLoop(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeL // Function implementations for IfcElectricApplianceType IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricApplianceType::PredefinedType() const { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricApplianceType::setPredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricApplianceTypeEnum::ToString(v)); } +void IfcElectricApplianceType::PredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricApplianceTypeEnum::ToString(v));; } bool IfcElectricApplianceType::is(Type::Enum v) const { return v == Type::IfcElectricApplianceType || IfcFlowTerminalType::is(v); } Type::Enum IfcElectricApplianceType::type() const { return Type::IfcElectricApplianceType; } Type::Enum IfcElectricApplianceType::Class() { return Type::IfcElectricApplianceType; } @@ -8693,19 +8543,18 @@ IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, IfcO // Function implementations for IfcElectricDistributionPoint IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum IfcElectricDistributionPoint::DistributionPointFunction() const { return IfcElectricDistributionPointFunctionEnum::FromString(*entity->getArgument(8)); } -void IfcElectricDistributionPoint::setDistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricDistributionPointFunctionEnum::ToString(v)); } -bool IfcElectricDistributionPoint::hasUserDefinedFunction() const { return !entity->getArgument(9)->isNull(); } -std::string IfcElectricDistributionPoint::UserDefinedFunction() const { return *entity->getArgument(9); } -void IfcElectricDistributionPoint::setUserDefinedFunction(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcElectricDistributionPoint::DistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcElectricDistributionPointFunctionEnum::ToString(v));; } +boost::optional< std::string > IfcElectricDistributionPoint::UserDefinedFunction() const { return *entity->getArgument(9); } +void IfcElectricDistributionPoint::UserDefinedFunction(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcElectricDistributionPoint::is(Type::Enum v) const { return v == Type::IfcElectricDistributionPoint || IfcFlowController::is(v); } Type::Enum IfcElectricDistributionPoint::type() const { return Type::IfcElectricDistributionPoint; } Type::Enum IfcElectricDistributionPoint::Class() { return Type::IfcElectricDistributionPoint; } IfcElectricDistributionPoint::IfcElectricDistributionPoint(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionPoint::IfcElectricDistributionPoint(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_DistributionPointFunction,IfcElectricDistributionPointFunctionEnum::ToString(v9_DistributionPointFunction)); if (v10_UserDefinedFunction) { e->setArgument(9,(*v10_UserDefinedFunction)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcElectricDistributionPoint::IfcElectricDistributionPoint(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_DistributionPointFunction,IfcElectricDistributionPointFunctionEnum::ToString(v9_DistributionPointFunction)); if (v10_UserDefinedFunction) { e->setArgument(9,(*v10_UserDefinedFunction)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDeviceType IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceType::PredefinedType() const { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricFlowStorageDeviceType::setPredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricFlowStorageDeviceTypeEnum::ToString(v)); } +void IfcElectricFlowStorageDeviceType::PredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricFlowStorageDeviceTypeEnum::ToString(v));; } bool IfcElectricFlowStorageDeviceType::is(Type::Enum v) const { return v == Type::IfcElectricFlowStorageDeviceType || IfcFlowStorageDeviceType::is(v); } Type::Enum IfcElectricFlowStorageDeviceType::type() const { return Type::IfcElectricFlowStorageDeviceType; } Type::Enum IfcElectricFlowStorageDeviceType::Class() { return Type::IfcElectricFlowStorageDeviceType; } @@ -8714,7 +8563,7 @@ IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v // Function implementations for IfcElectricGeneratorType IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorType::PredefinedType() const { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricGeneratorType::setPredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricGeneratorTypeEnum::ToString(v)); } +void IfcElectricGeneratorType::PredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricGeneratorTypeEnum::ToString(v));; } bool IfcElectricGeneratorType::is(Type::Enum v) const { return v == Type::IfcElectricGeneratorType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcElectricGeneratorType::type() const { return Type::IfcElectricGeneratorType; } Type::Enum IfcElectricGeneratorType::Class() { return Type::IfcElectricGeneratorType; } @@ -8723,7 +8572,7 @@ IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, IfcO // Function implementations for IfcElectricHeaterType IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum IfcElectricHeaterType::PredefinedType() const { return IfcElectricHeaterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricHeaterType::setPredefinedType(IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricHeaterTypeEnum::ToString(v)); } +void IfcElectricHeaterType::PredefinedType(IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricHeaterTypeEnum::ToString(v));; } bool IfcElectricHeaterType::is(Type::Enum v) const { return v == Type::IfcElectricHeaterType || IfcFlowTerminalType::is(v); } Type::Enum IfcElectricHeaterType::type() const { return Type::IfcElectricHeaterType; } Type::Enum IfcElectricHeaterType::Class() { return Type::IfcElectricHeaterType; } @@ -8732,7 +8581,7 @@ IfcElectricHeaterType::IfcElectricHeaterType(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcElectricMotorType IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorType::PredefinedType() const { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricMotorType::setPredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricMotorTypeEnum::ToString(v)); } +void IfcElectricMotorType::PredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricMotorTypeEnum::ToString(v));; } bool IfcElectricMotorType::is(Type::Enum v) const { return v == Type::IfcElectricMotorType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcElectricMotorType::type() const { return Type::IfcElectricMotorType; } Type::Enum IfcElectricMotorType::Class() { return Type::IfcElectricMotorType; } @@ -8741,7 +8590,7 @@ IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, IfcOwnerHist // Function implementations for IfcElectricTimeControlType IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlType::PredefinedType() const { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricTimeControlType::setPredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricTimeControlTypeEnum::ToString(v)); } +void IfcElectricTimeControlType::PredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricTimeControlTypeEnum::ToString(v));; } bool IfcElectricTimeControlType::is(Type::Enum v) const { return v == Type::IfcElectricTimeControlType || IfcFlowControllerType::is(v); } Type::Enum IfcElectricTimeControlType::type() const { return Type::IfcElectricTimeControlType; } Type::Enum IfcElectricTimeControlType::Class() { return Type::IfcElectricTimeControlType; } @@ -8749,27 +8598,22 @@ IfcElectricTimeControlType::IfcElectricTimeControlType(IfcAbstractEntity* e) : I IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalBaseProperties -bool IfcElectricalBaseProperties::hasElectricCurrentType() const { return !entity->getArgument(6)->isNull(); } -IfcElectricCurrentEnum::IfcElectricCurrentEnum IfcElectricalBaseProperties::ElectricCurrentType() const { return IfcElectricCurrentEnum::FromString(*entity->getArgument(6)); } -void IfcElectricalBaseProperties::setElectricCurrentType(IfcElectricCurrentEnum::IfcElectricCurrentEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcElectricCurrentEnum::ToString(v)); } +boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > IfcElectricalBaseProperties::ElectricCurrentType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcElectricCurrentEnum::FromString(*arg); } } +void IfcElectricalBaseProperties::ElectricCurrentType(boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcElectricCurrentEnum::ToString(*v));; } else { w->setArgument(6); } } double IfcElectricalBaseProperties::InputVoltage() const { return *entity->getArgument(7); } -void IfcElectricalBaseProperties::setInputVoltage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcElectricalBaseProperties::InputVoltage(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } double IfcElectricalBaseProperties::InputFrequency() const { return *entity->getArgument(8); } -void IfcElectricalBaseProperties::setInputFrequency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcElectricalBaseProperties::hasFullLoadCurrent() const { return !entity->getArgument(9)->isNull(); } -double IfcElectricalBaseProperties::FullLoadCurrent() const { return *entity->getArgument(9); } -void IfcElectricalBaseProperties::setFullLoadCurrent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcElectricalBaseProperties::hasMinimumCircuitCurrent() const { return !entity->getArgument(10)->isNull(); } -double IfcElectricalBaseProperties::MinimumCircuitCurrent() const { return *entity->getArgument(10); } -void IfcElectricalBaseProperties::setMinimumCircuitCurrent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcElectricalBaseProperties::hasMaximumPowerInput() const { return !entity->getArgument(11)->isNull(); } -double IfcElectricalBaseProperties::MaximumPowerInput() const { return *entity->getArgument(11); } -void IfcElectricalBaseProperties::setMaximumPowerInput(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcElectricalBaseProperties::hasRatedPowerInput() const { return !entity->getArgument(12)->isNull(); } -double IfcElectricalBaseProperties::RatedPowerInput() const { return *entity->getArgument(12); } -void IfcElectricalBaseProperties::setRatedPowerInput(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcElectricalBaseProperties::InputFrequency(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< double > IfcElectricalBaseProperties::FullLoadCurrent() const { return *entity->getArgument(9); } +void IfcElectricalBaseProperties::FullLoadCurrent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcElectricalBaseProperties::MinimumCircuitCurrent() const { return *entity->getArgument(10); } +void IfcElectricalBaseProperties::MinimumCircuitCurrent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcElectricalBaseProperties::MaximumPowerInput() const { return *entity->getArgument(11); } +void IfcElectricalBaseProperties::MaximumPowerInput(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcElectricalBaseProperties::RatedPowerInput() const { return *entity->getArgument(12); } +void IfcElectricalBaseProperties::RatedPowerInput(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } int IfcElectricalBaseProperties::InputPhase() const { return *entity->getArgument(13); } -void IfcElectricalBaseProperties::setInputPhase(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +void IfcElectricalBaseProperties::InputPhase(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v); } bool IfcElectricalBaseProperties::is(Type::Enum v) const { return v == Type::IfcElectricalBaseProperties || IfcEnergyProperties::is(v); } Type::Enum IfcElectricalBaseProperties::type() const { return Type::IfcElectricalBaseProperties; } Type::Enum IfcElectricalBaseProperties::Class() { return Type::IfcElectricalBaseProperties; } @@ -8788,12 +8632,11 @@ bool IfcElectricalElement::is(Type::Enum v) const { return v == Type::IfcElectri Type::Enum IfcElectricalElement::type() const { return Type::IfcElectricalElement; } Type::Enum IfcElectricalElement::Class() { return Type::IfcElectricalElement; } IfcElectricalElement::IfcElectricalElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalElement::IfcElectricalElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElectricalElement::IfcElectricalElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElement -bool IfcElement::hasTag() const { return !entity->getArgument(7)->isNull(); } -std::string IfcElement::Tag() const { return *entity->getArgument(7); } -void IfcElement::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< std::string > IfcElement::Tag() const { return *entity->getArgument(7); } +void IfcElement::Tag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcRelConnectsStructuralElement::list::ptr IfcElement::HasStructuralMember() const { return entity->getInverse(Type::IfcRelConnectsStructuralElement, 4)->as(); } IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return entity->getInverse(Type::IfcRelFillsElement, 5)->as(); } IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsElements, 5)->as(); } @@ -8810,26 +8653,25 @@ bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcPro Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } IfcElement::IfcElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElement::IfcElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElement::IfcElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssembly -bool IfcElementAssembly::hasAssemblyPlace() const { return !entity->getArgument(8)->isNull(); } -IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcElementAssembly::AssemblyPlace() const { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(8)); } -void IfcElementAssembly::setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAssemblyPlaceEnum::ToString(v)); } +boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > IfcElementAssembly::AssemblyPlace() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAssemblyPlaceEnum::FromString(*arg); } } +void IfcElementAssembly::AssemblyPlace(boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAssemblyPlaceEnum::ToString(*v));; } else { w->setArgument(8); } } IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssembly::PredefinedType() const { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElementAssembly::setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElementAssemblyTypeEnum::ToString(v)); } +void IfcElementAssembly::PredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElementAssemblyTypeEnum::ToString(v));; } bool IfcElementAssembly::is(Type::Enum v) const { return v == Type::IfcElementAssembly || IfcElement::is(v); } Type::Enum IfcElementAssembly::type() const { return Type::IfcElementAssembly; } Type::Enum IfcElementAssembly::Class() { return Type::IfcElementAssembly; } IfcElementAssembly::IfcElementAssembly(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponent bool IfcElementComponent::is(Type::Enum v) const { return v == Type::IfcElementComponent || IfcElement::is(v); } Type::Enum IfcElementComponent::type() const { return Type::IfcElementComponent; } Type::Enum IfcElementComponent::Class() { return Type::IfcElementComponent; } IfcElementComponent::IfcElementComponent(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponentType bool IfcElementComponentType::is(Type::Enum v) const { return v == Type::IfcElementComponentType || IfcElementType::is(v); } @@ -8839,11 +8681,10 @@ IfcElementComponentType::IfcElementComponentType(IfcAbstractEntity* e) : IfcElem IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementQuantity -bool IfcElementQuantity::hasMethodOfMeasurement() const { return !entity->getArgument(4)->isNull(); } -std::string IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } -void IfcElementQuantity::setMethodOfMeasurement(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } +void IfcElementQuantity::MethodOfMeasurement(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcElementQuantity::setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcElementQuantity::Quantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcElementQuantity::is(Type::Enum v) const { return v == Type::IfcElementQuantity || IfcPropertySetDefinition::is(v); } Type::Enum IfcElementQuantity::type() const { return Type::IfcElementQuantity; } Type::Enum IfcElementQuantity::Class() { return Type::IfcElementQuantity; } @@ -8851,9 +8692,8 @@ IfcElementQuantity::IfcElementQuantity(IfcAbstractEntity* e) : IfcPropertySetDef IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementType -bool IfcElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcElementType::ElementType() const { return *entity->getArgument(8); } -void IfcElementType::setElementType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcElementType::ElementType() const { return *entity->getArgument(8); } +void IfcElementType::ElementType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcElementType::is(Type::Enum v) const { return v == Type::IfcElementType || IfcTypeProduct::is(v); } Type::Enum IfcElementType::type() const { return Type::IfcElementType; } Type::Enum IfcElementType::Class() { return Type::IfcElementType; } @@ -8862,7 +8702,7 @@ IfcElementType::IfcElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcElementarySurface IfcAxis2Placement3D* IfcElementarySurface::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcElementarySurface::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcElementarySurface::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcElementarySurface::is(Type::Enum v) const { return v == Type::IfcElementarySurface || IfcSurface::is(v); } Type::Enum IfcElementarySurface::type() const { return Type::IfcElementarySurface; } Type::Enum IfcElementarySurface::Class() { return Type::IfcElementarySurface; } @@ -8871,9 +8711,9 @@ IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : I // Function implementations for IfcEllipse double IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } -void IfcEllipse::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcEllipse::SemiAxis1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } -void IfcEllipse::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcEllipse::SemiAxis2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcEllipse::is(Type::Enum v) const { return v == Type::IfcEllipse || IfcConic::is(v); } Type::Enum IfcEllipse::type() const { return Type::IfcEllipse; } Type::Enum IfcEllipse::Class() { return Type::IfcEllipse; } @@ -8882,9 +8722,9 @@ IfcEllipse::IfcEllipse(IfcAxis2Placement* v1_Position, double v2_SemiAxis1, doub // Function implementations for IfcEllipseProfileDef double IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } -void IfcEllipseProfileDef::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcEllipseProfileDef::SemiAxis1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } -void IfcEllipseProfileDef::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcEllipseProfileDef::SemiAxis2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcEllipseProfileDef::is(Type::Enum v) const { return v == Type::IfcEllipseProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcEllipseProfileDef::type() const { return Type::IfcEllipseProfileDef; } Type::Enum IfcEllipseProfileDef::Class() { return Type::IfcEllipseProfileDef; } @@ -8896,7 +8736,7 @@ bool IfcEnergyConversionDevice::is(Type::Enum v) const { return v == Type::IfcEn Type::Enum IfcEnergyConversionDevice::type() const { return Type::IfcEnergyConversionDevice; } Type::Enum IfcEnergyConversionDevice::Class() { return Type::IfcEnergyConversionDevice; } IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDeviceType bool IfcEnergyConversionDeviceType::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDeviceType || IfcDistributionFlowElementType::is(v); } @@ -8906,12 +8746,10 @@ IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcAbstractEntity* IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyProperties -bool IfcEnergyProperties::hasEnergySequence() const { return !entity->getArgument(4)->isNull(); } -IfcEnergySequenceEnum::IfcEnergySequenceEnum IfcEnergyProperties::EnergySequence() const { return IfcEnergySequenceEnum::FromString(*entity->getArgument(4)); } -void IfcEnergyProperties::setEnergySequence(IfcEnergySequenceEnum::IfcEnergySequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcEnergySequenceEnum::ToString(v)); } -bool IfcEnergyProperties::hasUserDefinedEnergySequence() const { return !entity->getArgument(5)->isNull(); } -std::string IfcEnergyProperties::UserDefinedEnergySequence() const { return *entity->getArgument(5); } -void IfcEnergyProperties::setUserDefinedEnergySequence(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > IfcEnergyProperties::EnergySequence() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return IfcEnergySequenceEnum::FromString(*arg); } } +void IfcEnergyProperties::EnergySequence(boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v,IfcEnergySequenceEnum::ToString(*v));; } else { w->setArgument(4); } } +boost::optional< std::string > IfcEnergyProperties::UserDefinedEnergySequence() const { return *entity->getArgument(5); } +void IfcEnergyProperties::UserDefinedEnergySequence(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcEnergyProperties::is(Type::Enum v) const { return v == Type::IfcEnergyProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcEnergyProperties::type() const { return Type::IfcEnergyProperties; } Type::Enum IfcEnergyProperties::Class() { return Type::IfcEnergyProperties; } @@ -8920,24 +8758,23 @@ IfcEnergyProperties::IfcEnergyProperties(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcEnvironmentalImpactValue std::string IfcEnvironmentalImpactValue::ImpactType() const { return *entity->getArgument(6); } -void IfcEnvironmentalImpactValue::setImpactType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcEnvironmentalImpactValue::ImpactType(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum IfcEnvironmentalImpactValue::Category() const { return IfcEnvironmentalImpactCategoryEnum::FromString(*entity->getArgument(7)); } -void IfcEnvironmentalImpactValue::setCategory(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcEnvironmentalImpactCategoryEnum::ToString(v)); } -bool IfcEnvironmentalImpactValue::hasUserDefinedCategory() const { return !entity->getArgument(8)->isNull(); } -std::string IfcEnvironmentalImpactValue::UserDefinedCategory() const { return *entity->getArgument(8); } -void IfcEnvironmentalImpactValue::setUserDefinedCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcEnvironmentalImpactValue::Category(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcEnvironmentalImpactCategoryEnum::ToString(v));; } +boost::optional< std::string > IfcEnvironmentalImpactValue::UserDefinedCategory() const { return *entity->getArgument(8); } +void IfcEnvironmentalImpactValue::UserDefinedCategory(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcEnvironmentalImpactValue::is(Type::Enum v) const { return v == Type::IfcEnvironmentalImpactValue || IfcAppliedValue::is(v); } Type::Enum IfcEnvironmentalImpactValue::type() const { return Type::IfcEnvironmentalImpactValue; } Type::Enum IfcEnvironmentalImpactValue::Class() { return Type::IfcEnvironmentalImpactValue; } IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnvironmentalImpactValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< std::string > v9_UserDefinedCategory) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); e->setArgument(4,(v5_ApplicableDate)); e->setArgument(5,(v6_FixedUntilDate)); e->setArgument(6,(v7_ImpactType)); e->setArgument(7,v8_Category,IfcEnvironmentalImpactCategoryEnum::ToString(v8_Category)); if (v9_UserDefinedCategory) { e->setArgument(8,(*v9_UserDefinedCategory)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< IfcDateTimeSelect* > v5_ApplicableDate, boost::optional< IfcDateTimeSelect* > v6_FixedUntilDate, std::string v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< std::string > v9_UserDefinedCategory) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } if (v4_UnitBasis) { e->setArgument(3,(*v4_UnitBasis)); } else { e->setArgument(3); } if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_ImpactType)); e->setArgument(7,v8_Category,IfcEnvironmentalImpactCategoryEnum::ToString(v8_Category)); if (v9_UserDefinedCategory) { e->setArgument(8,(*v9_UserDefinedCategory)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEquipmentElement bool IfcEquipmentElement::is(Type::Enum v) const { return v == Type::IfcEquipmentElement || IfcElement::is(v); } Type::Enum IfcEquipmentElement::type() const { return Type::IfcEquipmentElement; } Type::Enum IfcEquipmentElement::Class() { return Type::IfcEquipmentElement; } IfcEquipmentElement::IfcEquipmentElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEquipmentElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEquipmentElement::IfcEquipmentElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcEquipmentElement::IfcEquipmentElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEquipmentStandard bool IfcEquipmentStandard::is(Type::Enum v) const { return v == Type::IfcEquipmentStandard || IfcControl::is(v); } @@ -8948,7 +8785,7 @@ IfcEquipmentStandard::IfcEquipmentStandard(std::string v1_GlobalId, IfcOwnerHist // Function implementations for IfcEvaporativeCoolerType IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerType::PredefinedType() const { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcEvaporativeCoolerType::setPredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcEvaporativeCoolerTypeEnum::ToString(v)); } +void IfcEvaporativeCoolerType::PredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcEvaporativeCoolerTypeEnum::ToString(v));; } bool IfcEvaporativeCoolerType::is(Type::Enum v) const { return v == Type::IfcEvaporativeCoolerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcEvaporativeCoolerType::type() const { return Type::IfcEvaporativeCoolerType; } Type::Enum IfcEvaporativeCoolerType::Class() { return Type::IfcEvaporativeCoolerType; } @@ -8957,7 +8794,7 @@ IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, IfcO // Function implementations for IfcEvaporatorType IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorType::PredefinedType() const { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcEvaporatorType::setPredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcEvaporatorTypeEnum::ToString(v)); } +void IfcEvaporatorType::PredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcEvaporatorTypeEnum::ToString(v));; } bool IfcEvaporatorType::is(Type::Enum v) const { return v == Type::IfcEvaporatorType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcEvaporatorType::type() const { return Type::IfcEvaporatorType; } Type::Enum IfcEvaporatorType::Class() { return Type::IfcEvaporatorType; } @@ -8966,12 +8803,11 @@ IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcExtendedMaterialProperties IfcTemplatedEntityList< IfcProperty >::ptr IfcExtendedMaterialProperties::ExtendedProperties() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcExtendedMaterialProperties::setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcExtendedMaterialProperties::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcExtendedMaterialProperties::Description() const { return *entity->getArgument(2); } -void IfcExtendedMaterialProperties::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcExtendedMaterialProperties::ExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } +boost::optional< std::string > IfcExtendedMaterialProperties::Description() const { return *entity->getArgument(2); } +void IfcExtendedMaterialProperties::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } std::string IfcExtendedMaterialProperties::Name() const { return *entity->getArgument(3); } -void IfcExtendedMaterialProperties::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcExtendedMaterialProperties::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcExtendedMaterialProperties::is(Type::Enum v) const { return v == Type::IfcExtendedMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcExtendedMaterialProperties::type() const { return Type::IfcExtendedMaterialProperties; } Type::Enum IfcExtendedMaterialProperties::Class() { return Type::IfcExtendedMaterialProperties; } @@ -8979,15 +8815,12 @@ IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcAbstractEntity* IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_ExtendedProperties)->generalize()); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReference -bool IfcExternalReference::hasLocation() const { return !entity->getArgument(0)->isNull(); } -std::string IfcExternalReference::Location() const { return *entity->getArgument(0); } -void IfcExternalReference::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcExternalReference::hasItemReference() const { return !entity->getArgument(1)->isNull(); } -std::string IfcExternalReference::ItemReference() const { return *entity->getArgument(1); } -void IfcExternalReference::setItemReference(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcExternalReference::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcExternalReference::Name() const { return *entity->getArgument(2); } -void IfcExternalReference::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcExternalReference::Location() const { return *entity->getArgument(0); } +void IfcExternalReference::Location(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcExternalReference::ItemReference() const { return *entity->getArgument(1); } +void IfcExternalReference::ItemReference(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcExternalReference::Name() const { return *entity->getArgument(2); } +void IfcExternalReference::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcExternalReference::is(Type::Enum v) const { return v == Type::IfcExternalReference; } Type::Enum IfcExternalReference::type() const { return Type::IfcExternalReference; } Type::Enum IfcExternalReference::Class() { return Type::IfcExternalReference; } @@ -9024,9 +8857,9 @@ IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std: // Function implementations for IfcExtrudedAreaSolid IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcExtrudedAreaSolid::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcExtrudedAreaSolid::ExtrudedDirection(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } -void IfcExtrudedAreaSolid::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcExtrudedAreaSolid::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcExtrudedAreaSolid::is(Type::Enum v) const { return v == Type::IfcExtrudedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcExtrudedAreaSolid::type() const { return Type::IfcExtrudedAreaSolid; } Type::Enum IfcExtrudedAreaSolid::Class() { return Type::IfcExtrudedAreaSolid; } @@ -9035,7 +8868,7 @@ IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2 // Function implementations for IfcFace IfcTemplatedEntityList< IfcFaceBound >::ptr IfcFace::Bounds() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcFace::setBounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcFace::Bounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcFace::is(Type::Enum v) const { return v == Type::IfcFace || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFace::type() const { return Type::IfcFace; } Type::Enum IfcFace::Class() { return Type::IfcFace; } @@ -9044,7 +8877,7 @@ IfcFace::IfcFace(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds) : IfcTop // Function implementations for IfcFaceBasedSurfaceModel IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr IfcFaceBasedSurfaceModel::FbsmFaces() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcFaceBasedSurfaceModel::setFbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcFaceBasedSurfaceModel::FbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcFaceBasedSurfaceModel::is(Type::Enum v) const { return v == Type::IfcFaceBasedSurfaceModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFaceBasedSurfaceModel::type() const { return Type::IfcFaceBasedSurfaceModel; } Type::Enum IfcFaceBasedSurfaceModel::Class() { return Type::IfcFaceBasedSurfaceModel; } @@ -9053,9 +8886,9 @@ IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcTemplatedEntityList< IfcCo // Function implementations for IfcFaceBound IfcLoop* IfcFaceBound::Bound() const { return (IfcLoop*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcFaceBound::setBound(IfcLoop* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcFaceBound::Bound(IfcLoop* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcFaceBound::Orientation() const { return *entity->getArgument(1); } -void IfcFaceBound::setOrientation(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcFaceBound::Orientation(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcFaceBound::is(Type::Enum v) const { return v == Type::IfcFaceBound || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFaceBound::type() const { return Type::IfcFaceBound; } Type::Enum IfcFaceBound::Class() { return Type::IfcFaceBound; } @@ -9071,9 +8904,9 @@ IfcFaceOuterBound::IfcFaceOuterBound(IfcLoop* v1_Bound, bool v2_Orientation) : I // Function implementations for IfcFaceSurface IfcSurface* IfcFaceSurface::FaceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcFaceSurface::setFaceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcFaceSurface::FaceSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcFaceSurface::SameSense() const { return *entity->getArgument(2); } -void IfcFaceSurface::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcFaceSurface::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcFaceSurface::is(Type::Enum v) const { return v == Type::IfcFaceSurface || IfcFace::is(v); } Type::Enum IfcFaceSurface::type() const { return Type::IfcFaceSurface; } Type::Enum IfcFaceSurface::Class() { return Type::IfcFaceSurface; } @@ -9089,7 +8922,7 @@ IfcFacetedBrep::IfcFacetedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep( // Function implementations for IfcFacetedBrepWithVoids IfcTemplatedEntityList< IfcClosedShell >::ptr IfcFacetedBrepWithVoids::Voids() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcFacetedBrepWithVoids::setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcFacetedBrepWithVoids::Voids(IfcTemplatedEntityList< IfcClosedShell >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcFacetedBrepWithVoids::is(Type::Enum v) const { return v == Type::IfcFacetedBrepWithVoids || IfcManifoldSolidBrep::is(v); } Type::Enum IfcFacetedBrepWithVoids::type() const { return Type::IfcFacetedBrepWithVoids; } Type::Enum IfcFacetedBrepWithVoids::Class() { return Type::IfcFacetedBrepWithVoids; } @@ -9097,24 +8930,18 @@ IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcAbstractEntity* e) : IfcMani IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcClosedShell* v1_Outer, IfcTemplatedEntityList< IfcClosedShell >::ptr v2_Voids) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); e->setArgument(1,(v2_Voids)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFailureConnectionCondition -bool IfcFailureConnectionCondition::hasTensionFailureX() const { return !entity->getArgument(1)->isNull(); } -double IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } -void IfcFailureConnectionCondition::setTensionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFailureConnectionCondition::hasTensionFailureY() const { return !entity->getArgument(2)->isNull(); } -double IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } -void IfcFailureConnectionCondition::setTensionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFailureConnectionCondition::hasTensionFailureZ() const { return !entity->getArgument(3)->isNull(); } -double IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } -void IfcFailureConnectionCondition::setTensionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureX() const { return !entity->getArgument(4)->isNull(); } -double IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } -void IfcFailureConnectionCondition::setCompressionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureY() const { return !entity->getArgument(5)->isNull(); } -double IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } -void IfcFailureConnectionCondition::setCompressionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !entity->getArgument(6)->isNull(); } -double IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } -void IfcFailureConnectionCondition::setCompressionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } +void IfcFailureConnectionCondition::TensionFailureX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } +void IfcFailureConnectionCondition::TensionFailureY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } +void IfcFailureConnectionCondition::TensionFailureZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } +void IfcFailureConnectionCondition::CompressionFailureX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } +void IfcFailureConnectionCondition::CompressionFailureY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } +void IfcFailureConnectionCondition::CompressionFailureZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcFailureConnectionCondition::is(Type::Enum v) const { return v == Type::IfcFailureConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcFailureConnectionCondition::type() const { return Type::IfcFailureConnectionCondition; } Type::Enum IfcFailureConnectionCondition::Class() { return Type::IfcFailureConnectionCondition; } @@ -9123,7 +8950,7 @@ IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< st // Function implementations for IfcFanType IfcFanTypeEnum::IfcFanTypeEnum IfcFanType::PredefinedType() const { return IfcFanTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFanType::setPredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFanTypeEnum::ToString(v)); } +void IfcFanType::PredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFanTypeEnum::ToString(v));; } bool IfcFanType::is(Type::Enum v) const { return v == Type::IfcFanType || IfcFlowMovingDeviceType::is(v); } Type::Enum IfcFanType::type() const { return Type::IfcFanType; } Type::Enum IfcFanType::Class() { return Type::IfcFanType; } @@ -9135,7 +8962,7 @@ bool IfcFastener::is(Type::Enum v) const { return v == Type::IfcFastener || IfcE Type::Enum IfcFastener::type() const { return Type::IfcFastener; } Type::Enum IfcFastener::Class() { return Type::IfcFastener; } IfcFastener::IfcFastener(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastener::IfcFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFastener::IfcFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastenerType bool IfcFastenerType::is(Type::Enum v) const { return v == Type::IfcFastenerType || IfcElementComponentType::is(v); } @@ -9149,7 +8976,7 @@ bool IfcFeatureElement::is(Type::Enum v) const { return v == Type::IfcFeatureEle Type::Enum IfcFeatureElement::type() const { return Type::IfcFeatureElement; } Type::Enum IfcFeatureElement::Class() { return Type::IfcFeatureElement; } IfcFeatureElement::IfcFeatureElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementAddition IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return entity->getInverse(Type::IfcRelProjectsElement, 5)->as(); } @@ -9157,7 +8984,7 @@ bool IfcFeatureElementAddition::is(Type::Enum v) const { return v == Type::IfcFe Type::Enum IfcFeatureElementAddition::type() const { return Type::IfcFeatureElementAddition; } Type::Enum IfcFeatureElementAddition::Class() { return Type::IfcFeatureElementAddition; } IfcFeatureElementAddition::IfcFeatureElementAddition(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementSubtraction IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return entity->getInverse(Type::IfcRelVoidsElement, 5)->as(); } @@ -9165,11 +8992,11 @@ bool IfcFeatureElementSubtraction::is(Type::Enum v) const { return v == Type::If Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureElementSubtraction; } Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyle IfcEntityList::ptr IfcFillAreaStyle::FillStyles() const { return *entity->getArgument(1); } -void IfcFillAreaStyle::setFillStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcFillAreaStyle::FillStyles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcFillAreaStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaStyle || IfcPresentationStyle::is(v); } Type::Enum IfcFillAreaStyle::type() const { return Type::IfcFillAreaStyle; } Type::Enum IfcFillAreaStyle::Class() { return Type::IfcFillAreaStyle; } @@ -9178,26 +9005,24 @@ IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, IfcEn // Function implementations for IfcFillAreaStyleHatching IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() const { return (IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcFillAreaStyleHatching::setHatchLineAppearance(IfcCurveStyle* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcFillAreaStyleHatching::HatchLineAppearance(IfcCurveStyle* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcHatchLineDistanceSelect* IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return (IfcHatchLineDistanceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() const { return !entity->getArgument(2)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFillAreaStyleHatching::hasPatternStart() const { return !entity->getArgument(3)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcFillAreaStyleHatching::setPatternStart(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcFillAreaStyleHatching::StartOfNextHatchLine(IfcHatchLineDistanceSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcCartesianPoint* > IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFillAreaStyleHatching::PointOfReferenceHatchLine(boost::optional< IfcCartesianPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcCartesianPoint* > IfcFillAreaStyleHatching::PatternStart() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFillAreaStyleHatching::PatternStart(boost::optional< IfcCartesianPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } double IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } -void IfcFillAreaStyleHatching::setHatchLineAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcFillAreaStyleHatching::HatchLineAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcFillAreaStyleHatching::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleHatching || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleHatching::type() const { return Type::IfcFillAreaStyleHatching; } Type::Enum IfcFillAreaStyleHatching::Class() { return Type::IfcFillAreaStyleHatching; } IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, boost::optional< IfcCartesianPoint* > v3_PointOfReferenceHatchLine, boost::optional< IfcCartesianPoint* > v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); if (v3_PointOfReferenceHatchLine) { e->setArgument(2,(*v3_PointOfReferenceHatchLine)); } else { e->setArgument(2); } if (v4_PatternStart) { e->setArgument(3,(*v4_PatternStart)); } else { e->setArgument(3); } e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTileSymbolWithStyle IfcAnnotationSymbolOccurrence* IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return (IfcAnnotationSymbolOccurrence*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcFillAreaStyleTileSymbolWithStyle::setSymbol(IfcAnnotationSymbolOccurrence* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcFillAreaStyleTileSymbolWithStyle::Symbol(IfcAnnotationSymbolOccurrence* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcFillAreaStyleTileSymbolWithStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTileSymbolWithStyle || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTileSymbolWithStyle::type() const { return Type::IfcFillAreaStyleTileSymbolWithStyle; } Type::Enum IfcFillAreaStyleTileSymbolWithStyle::Class() { return Type::IfcFillAreaStyleTileSymbolWithStyle; } @@ -9206,11 +9031,11 @@ IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAnno // Function implementations for IfcFillAreaStyleTiles IfcOneDirectionRepeatFactor* IfcFillAreaStyleTiles::TilingPattern() const { return (IfcOneDirectionRepeatFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcFillAreaStyleTiles::setTilingPattern(IfcOneDirectionRepeatFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcFillAreaStyleTiles::TilingPattern(IfcOneDirectionRepeatFactor* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcFillAreaStyleTiles::Tiles() const { return *entity->getArgument(1); } -void IfcFillAreaStyleTiles::setTiles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcFillAreaStyleTiles::Tiles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } -void IfcFillAreaStyleTiles::setTilingScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcFillAreaStyleTiles::TilingScale(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } Type::Enum IfcFillAreaStyleTiles::Class() { return Type::IfcFillAreaStyleTiles; } @@ -9219,7 +9044,7 @@ IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcOneDirectionRepeatFactor* v1_Til // Function implementations for IfcFilterType IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterType::PredefinedType() const { return IfcFilterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFilterType::setPredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFilterTypeEnum::ToString(v)); } +void IfcFilterType::PredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFilterTypeEnum::ToString(v));; } bool IfcFilterType::is(Type::Enum v) const { return v == Type::IfcFilterType || IfcFlowTreatmentDeviceType::is(v); } Type::Enum IfcFilterType::type() const { return Type::IfcFilterType; } Type::Enum IfcFilterType::Class() { return Type::IfcFilterType; } @@ -9228,7 +9053,7 @@ IfcFilterType::IfcFilterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcFireSuppressionTerminalType IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalType::PredefinedType() const { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFireSuppressionTerminalType::setPredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFireSuppressionTerminalTypeEnum::ToString(v)); } +void IfcFireSuppressionTerminalType::PredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFireSuppressionTerminalTypeEnum::ToString(v));; } bool IfcFireSuppressionTerminalType::is(Type::Enum v) const { return v == Type::IfcFireSuppressionTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcFireSuppressionTerminalType::type() const { return Type::IfcFireSuppressionTerminalType; } Type::Enum IfcFireSuppressionTerminalType::Class() { return Type::IfcFireSuppressionTerminalType; } @@ -9240,7 +9065,7 @@ bool IfcFlowController::is(Type::Enum v) const { return v == Type::IfcFlowContro Type::Enum IfcFlowController::type() const { return Type::IfcFlowController; } Type::Enum IfcFlowController::Class() { return Type::IfcFlowController; } IfcFlowController::IfcFlowController(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowController::IfcFlowController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowController::IfcFlowController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowControllerType bool IfcFlowControllerType::is(Type::Enum v) const { return v == Type::IfcFlowControllerType || IfcDistributionFlowElementType::is(v); } @@ -9254,7 +9079,7 @@ bool IfcFlowFitting::is(Type::Enum v) const { return v == Type::IfcFlowFitting | Type::Enum IfcFlowFitting::type() const { return Type::IfcFlowFitting; } Type::Enum IfcFlowFitting::Class() { return Type::IfcFlowFitting; } IfcFlowFitting::IfcFlowFitting(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFittingType bool IfcFlowFittingType::is(Type::Enum v) const { return v == Type::IfcFlowFittingType || IfcDistributionFlowElementType::is(v); } @@ -9265,7 +9090,7 @@ IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcFlowInstrumentType IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentType::PredefinedType() const { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFlowInstrumentType::setPredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFlowInstrumentTypeEnum::ToString(v)); } +void IfcFlowInstrumentType::PredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFlowInstrumentTypeEnum::ToString(v));; } bool IfcFlowInstrumentType::is(Type::Enum v) const { return v == Type::IfcFlowInstrumentType || IfcDistributionControlElementType::is(v); } Type::Enum IfcFlowInstrumentType::type() const { return Type::IfcFlowInstrumentType; } Type::Enum IfcFlowInstrumentType::Class() { return Type::IfcFlowInstrumentType; } @@ -9274,7 +9099,7 @@ IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcFlowMeterType IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterType::PredefinedType() const { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFlowMeterType::setPredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFlowMeterTypeEnum::ToString(v)); } +void IfcFlowMeterType::PredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFlowMeterTypeEnum::ToString(v));; } bool IfcFlowMeterType::is(Type::Enum v) const { return v == Type::IfcFlowMeterType || IfcFlowControllerType::is(v); } Type::Enum IfcFlowMeterType::type() const { return Type::IfcFlowMeterType; } Type::Enum IfcFlowMeterType::Class() { return Type::IfcFlowMeterType; } @@ -9286,7 +9111,7 @@ bool IfcFlowMovingDevice::is(Type::Enum v) const { return v == Type::IfcFlowMovi Type::Enum IfcFlowMovingDevice::type() const { return Type::IfcFlowMovingDevice; } Type::Enum IfcFlowMovingDevice::Class() { return Type::IfcFlowMovingDevice; } IfcFlowMovingDevice::IfcFlowMovingDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDeviceType bool IfcFlowMovingDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowMovingDeviceType || IfcDistributionFlowElementType::is(v); } @@ -9300,7 +9125,7 @@ bool IfcFlowSegment::is(Type::Enum v) const { return v == Type::IfcFlowSegment | Type::Enum IfcFlowSegment::type() const { return Type::IfcFlowSegment; } Type::Enum IfcFlowSegment::Class() { return Type::IfcFlowSegment; } IfcFlowSegment::IfcFlowSegment(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegmentType bool IfcFlowSegmentType::is(Type::Enum v) const { return v == Type::IfcFlowSegmentType || IfcDistributionFlowElementType::is(v); } @@ -9314,7 +9139,7 @@ bool IfcFlowStorageDevice::is(Type::Enum v) const { return v == Type::IfcFlowSto Type::Enum IfcFlowStorageDevice::type() const { return Type::IfcFlowStorageDevice; } Type::Enum IfcFlowStorageDevice::Class() { return Type::IfcFlowStorageDevice; } IfcFlowStorageDevice::IfcFlowStorageDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDeviceType bool IfcFlowStorageDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowStorageDeviceType || IfcDistributionFlowElementType::is(v); } @@ -9328,7 +9153,7 @@ bool IfcFlowTerminal::is(Type::Enum v) const { return v == Type::IfcFlowTerminal Type::Enum IfcFlowTerminal::type() const { return Type::IfcFlowTerminal; } Type::Enum IfcFlowTerminal::Class() { return Type::IfcFlowTerminal; } IfcFlowTerminal::IfcFlowTerminal(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminalType bool IfcFlowTerminalType::is(Type::Enum v) const { return v == Type::IfcFlowTerminalType || IfcDistributionFlowElementType::is(v); } @@ -9342,7 +9167,7 @@ bool IfcFlowTreatmentDevice::is(Type::Enum v) const { return v == Type::IfcFlowT Type::Enum IfcFlowTreatmentDevice::type() const { return Type::IfcFlowTreatmentDevice; } Type::Enum IfcFlowTreatmentDevice::Class() { return Type::IfcFlowTreatmentDevice; } IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDeviceType bool IfcFlowTreatmentDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDeviceType || IfcDistributionFlowElementType::is(v); } @@ -9353,76 +9178,59 @@ IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, // Function implementations for IfcFluidFlowProperties IfcPropertySourceEnum::IfcPropertySourceEnum IfcFluidFlowProperties::PropertySource() const { return IfcPropertySourceEnum::FromString(*entity->getArgument(4)); } -void IfcFluidFlowProperties::setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcPropertySourceEnum::ToString(v)); } -bool IfcFluidFlowProperties::hasFlowConditionTimeSeries() const { return !entity->getArgument(5)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::FlowConditionTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcFluidFlowProperties::setFlowConditionTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcFluidFlowProperties::hasVelocityTimeSeries() const { return !entity->getArgument(6)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::VelocityTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcFluidFlowProperties::setVelocityTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcFluidFlowProperties::hasFlowrateTimeSeries() const { return !entity->getArgument(7)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::FlowrateTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcFluidFlowProperties::setFlowrateTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcFluidFlowProperties::PropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcPropertySourceEnum::ToString(v));; } +boost::optional< IfcTimeSeries* > IfcFluidFlowProperties::FlowConditionTimeSeries() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::FlowConditionTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcTimeSeries* > IfcFluidFlowProperties::VelocityTimeSeries() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::VelocityTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcTimeSeries* > IfcFluidFlowProperties::FlowrateTimeSeries() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::FlowrateTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcMaterial* IfcFluidFlowProperties::Fluid() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcFluidFlowProperties::setFluid(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcFluidFlowProperties::hasPressureTimeSeries() const { return !entity->getArgument(9)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::PressureTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcFluidFlowProperties::setPressureTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcFluidFlowProperties::hasUserDefinedPropertySource() const { return !entity->getArgument(10)->isNull(); } -std::string IfcFluidFlowProperties::UserDefinedPropertySource() const { return *entity->getArgument(10); } -void IfcFluidFlowProperties::setUserDefinedPropertySource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcFluidFlowProperties::hasTemperatureSingleValue() const { return !entity->getArgument(11)->isNull(); } -double IfcFluidFlowProperties::TemperatureSingleValue() const { return *entity->getArgument(11); } -void IfcFluidFlowProperties::setTemperatureSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcFluidFlowProperties::hasWetBulbTemperatureSingleValue() const { return !entity->getArgument(12)->isNull(); } -double IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { return *entity->getArgument(12); } -void IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcFluidFlowProperties::hasWetBulbTemperatureTimeSeries() const { return !entity->getArgument(13)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } -void IfcFluidFlowProperties::setWetBulbTemperatureTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcFluidFlowProperties::hasTemperatureTimeSeries() const { return !entity->getArgument(14)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::TemperatureTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } -void IfcFluidFlowProperties::setTemperatureTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcFluidFlowProperties::hasFlowrateSingleValue() const { return !entity->getArgument(15)->isNull(); } -IfcDerivedMeasureValue* IfcFluidFlowProperties::FlowrateSingleValue() const { return (IfcDerivedMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(15))); } -void IfcFluidFlowProperties::setFlowrateSingleValue(IfcDerivedMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcFluidFlowProperties::hasFlowConditionSingleValue() const { return !entity->getArgument(16)->isNull(); } -double IfcFluidFlowProperties::FlowConditionSingleValue() const { return *entity->getArgument(16); } -void IfcFluidFlowProperties::setFlowConditionSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcFluidFlowProperties::hasVelocitySingleValue() const { return !entity->getArgument(17)->isNull(); } -double IfcFluidFlowProperties::VelocitySingleValue() const { return *entity->getArgument(17); } -void IfcFluidFlowProperties::setVelocitySingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcFluidFlowProperties::hasPressureSingleValue() const { return !entity->getArgument(18)->isNull(); } -double IfcFluidFlowProperties::PressureSingleValue() const { return *entity->getArgument(18); } -void IfcFluidFlowProperties::setPressureSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } +void IfcFluidFlowProperties::Fluid(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< IfcTimeSeries* > IfcFluidFlowProperties::PressureTimeSeries() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::PressureTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcFluidFlowProperties::UserDefinedPropertySource() const { return *entity->getArgument(10); } +void IfcFluidFlowProperties::UserDefinedPropertySource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcFluidFlowProperties::TemperatureSingleValue() const { return *entity->getArgument(11); } +void IfcFluidFlowProperties::TemperatureSingleValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { return *entity->getArgument(12); } +void IfcFluidFlowProperties::WetBulbTemperatureSingleValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcTimeSeries* > IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::WetBulbTemperatureTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< IfcTimeSeries* > IfcFluidFlowProperties::TemperatureTimeSeries() const { Argument* arg = entity->getArgument(14); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::TemperatureTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< IfcDerivedMeasureValue* > IfcFluidFlowProperties::FlowrateSingleValue() const { Argument* arg = entity->getArgument(15); if (arg->isNull()) { return boost::none; } else { return (IfcDerivedMeasureValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFluidFlowProperties::FlowrateSingleValue(boost::optional< IfcDerivedMeasureValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcFluidFlowProperties::FlowConditionSingleValue() const { return *entity->getArgument(16); } +void IfcFluidFlowProperties::FlowConditionSingleValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< double > IfcFluidFlowProperties::VelocitySingleValue() const { return *entity->getArgument(17); } +void IfcFluidFlowProperties::VelocitySingleValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v); } else { w->setArgument(17); } } +boost::optional< double > IfcFluidFlowProperties::PressureSingleValue() const { return *entity->getArgument(18); } +void IfcFluidFlowProperties::PressureSingleValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(18,*v); } else { w->setArgument(18); } } bool IfcFluidFlowProperties::is(Type::Enum v) const { return v == Type::IfcFluidFlowProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcFluidFlowProperties::type() const { return Type::IfcFluidFlowProperties; } Type::Enum IfcFluidFlowProperties::Class() { return Type::IfcFluidFlowProperties; } IfcFluidFlowProperties::IfcFluidFlowProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFluidFlowProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFluidFlowProperties::IfcFluidFlowProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, IfcDerivedMeasureValue* v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PropertySource,IfcPropertySourceEnum::ToString(v5_PropertySource)); e->setArgument(5,(v6_FlowConditionTimeSeries)); e->setArgument(6,(v7_VelocityTimeSeries)); e->setArgument(7,(v8_FlowrateTimeSeries)); e->setArgument(8,(v9_Fluid)); e->setArgument(9,(v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) { e->setArgument(10,(*v11_UserDefinedPropertySource)); } else { e->setArgument(10); } if (v12_TemperatureSingleValue) { e->setArgument(11,(*v12_TemperatureSingleValue)); } else { e->setArgument(11); } if (v13_WetBulbTemperatureSingleValue) { e->setArgument(12,(*v13_WetBulbTemperatureSingleValue)); } else { e->setArgument(12); } e->setArgument(13,(v14_WetBulbTemperatureTimeSeries)); e->setArgument(14,(v15_TemperatureTimeSeries)); e->setArgument(15,(v16_FlowrateSingleValue)); if (v17_FlowConditionSingleValue) { e->setArgument(16,(*v17_FlowConditionSingleValue)); } else { e->setArgument(16); } if (v18_VelocitySingleValue) { e->setArgument(17,(*v18_VelocitySingleValue)); } else { e->setArgument(17); } if (v19_PressureSingleValue) { e->setArgument(18,(*v19_PressureSingleValue)); } else { e->setArgument(18); } entity = e; EntityBuffer::Add(this); } +IfcFluidFlowProperties::IfcFluidFlowProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, boost::optional< IfcTimeSeries* > v6_FlowConditionTimeSeries, boost::optional< IfcTimeSeries* > v7_VelocityTimeSeries, boost::optional< IfcTimeSeries* > v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, boost::optional< IfcTimeSeries* > v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, boost::optional< IfcTimeSeries* > v14_WetBulbTemperatureTimeSeries, boost::optional< IfcTimeSeries* > v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue* > v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PropertySource,IfcPropertySourceEnum::ToString(v5_PropertySource)); if (v6_FlowConditionTimeSeries) { e->setArgument(5,(*v6_FlowConditionTimeSeries)); } else { e->setArgument(5); } if (v7_VelocityTimeSeries) { e->setArgument(6,(*v7_VelocityTimeSeries)); } else { e->setArgument(6); } if (v8_FlowrateTimeSeries) { e->setArgument(7,(*v8_FlowrateTimeSeries)); } else { e->setArgument(7); } e->setArgument(8,(v9_Fluid)); if (v10_PressureTimeSeries) { e->setArgument(9,(*v10_PressureTimeSeries)); } else { e->setArgument(9); } if (v11_UserDefinedPropertySource) { e->setArgument(10,(*v11_UserDefinedPropertySource)); } else { e->setArgument(10); } if (v12_TemperatureSingleValue) { e->setArgument(11,(*v12_TemperatureSingleValue)); } else { e->setArgument(11); } if (v13_WetBulbTemperatureSingleValue) { e->setArgument(12,(*v13_WetBulbTemperatureSingleValue)); } else { e->setArgument(12); } if (v14_WetBulbTemperatureTimeSeries) { e->setArgument(13,(*v14_WetBulbTemperatureTimeSeries)); } else { e->setArgument(13); } if (v15_TemperatureTimeSeries) { e->setArgument(14,(*v15_TemperatureTimeSeries)); } else { e->setArgument(14); } if (v16_FlowrateSingleValue) { e->setArgument(15,(*v16_FlowrateSingleValue)); } else { e->setArgument(15); } if (v17_FlowConditionSingleValue) { e->setArgument(16,(*v17_FlowConditionSingleValue)); } else { e->setArgument(16); } if (v18_VelocitySingleValue) { e->setArgument(17,(*v18_VelocitySingleValue)); } else { e->setArgument(17); } if (v19_PressureSingleValue) { e->setArgument(18,(*v19_PressureSingleValue)); } else { e->setArgument(18); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFooting IfcFootingTypeEnum::IfcFootingTypeEnum IfcFooting::PredefinedType() const { return IfcFootingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFooting::setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFootingTypeEnum::ToString(v)); } +void IfcFooting::PredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcFootingTypeEnum::ToString(v));; } bool IfcFooting::is(Type::Enum v) const { return v == Type::IfcFooting || IfcBuildingElement::is(v); } Type::Enum IfcFooting::type() const { return Type::IfcFooting; } Type::Enum IfcFooting::Class() { return Type::IfcFooting; } IfcFooting::IfcFooting(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFooting::IfcFooting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcFootingTypeEnum::ToString(v9_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFooting::IfcFooting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcFootingTypeEnum::ToString(v9_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFuelProperties -bool IfcFuelProperties::hasCombustionTemperature() const { return !entity->getArgument(1)->isNull(); } -double IfcFuelProperties::CombustionTemperature() const { return *entity->getArgument(1); } -void IfcFuelProperties::setCombustionTemperature(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFuelProperties::hasCarbonContent() const { return !entity->getArgument(2)->isNull(); } -double IfcFuelProperties::CarbonContent() const { return *entity->getArgument(2); } -void IfcFuelProperties::setCarbonContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFuelProperties::hasLowerHeatingValue() const { return !entity->getArgument(3)->isNull(); } -double IfcFuelProperties::LowerHeatingValue() const { return *entity->getArgument(3); } -void IfcFuelProperties::setLowerHeatingValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFuelProperties::hasHigherHeatingValue() const { return !entity->getArgument(4)->isNull(); } -double IfcFuelProperties::HigherHeatingValue() const { return *entity->getArgument(4); } -void IfcFuelProperties::setHigherHeatingValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcFuelProperties::CombustionTemperature() const { return *entity->getArgument(1); } +void IfcFuelProperties::CombustionTemperature(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcFuelProperties::CarbonContent() const { return *entity->getArgument(2); } +void IfcFuelProperties::CarbonContent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcFuelProperties::LowerHeatingValue() const { return *entity->getArgument(3); } +void IfcFuelProperties::LowerHeatingValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcFuelProperties::HigherHeatingValue() const { return *entity->getArgument(4); } +void IfcFuelProperties::HigherHeatingValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcFuelProperties::is(Type::Enum v) const { return v == Type::IfcFuelProperties || IfcMaterialProperties::is(v); } Type::Enum IfcFuelProperties::type() const { return Type::IfcFuelProperties; } Type::Enum IfcFuelProperties::Class() { return Type::IfcFuelProperties; } @@ -9434,7 +9242,7 @@ bool IfcFurnishingElement::is(Type::Enum v) const { return v == Type::IfcFurnish Type::Enum IfcFurnishingElement::type() const { return Type::IfcFurnishingElement; } Type::Enum IfcFurnishingElement::Class() { return Type::IfcFurnishingElement; } IfcFurnishingElement::IfcFurnishingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElementType bool IfcFurnishingElementType::is(Type::Enum v) const { return v == Type::IfcFurnishingElementType || IfcElementType::is(v); } @@ -9452,7 +9260,7 @@ IfcFurnitureStandard::IfcFurnitureStandard(std::string v1_GlobalId, IfcOwnerHist // Function implementations for IfcFurnitureType IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcFurnitureType::AssemblyPlace() const { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(9)); } -void IfcFurnitureType::setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAssemblyPlaceEnum::ToString(v)); } +void IfcFurnitureType::AssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAssemblyPlaceEnum::ToString(v));; } bool IfcFurnitureType::is(Type::Enum v) const { return v == Type::IfcFurnitureType || IfcFurnishingElementType::is(v); } Type::Enum IfcFurnitureType::type() const { return Type::IfcFurnitureType; } Type::Enum IfcFurnitureType::Class() { return Type::IfcFurnitureType; } @@ -9461,7 +9269,7 @@ IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, IfcOwnerHistory* v2_ // Function implementations for IfcGasTerminalType IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum IfcGasTerminalType::PredefinedType() const { return IfcGasTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcGasTerminalType::setPredefinedType(IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcGasTerminalTypeEnum::ToString(v)); } +void IfcGasTerminalType::PredefinedType(IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcGasTerminalTypeEnum::ToString(v));; } bool IfcGasTerminalType::is(Type::Enum v) const { return v == Type::IfcGasTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcGasTerminalType::type() const { return Type::IfcGasTerminalType; } Type::Enum IfcGasTerminalType::Class() { return Type::IfcGasTerminalType; } @@ -9469,15 +9277,12 @@ IfcGasTerminalType::IfcGasTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalTy IfcGasTerminalType::IfcGasTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGasTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeneralMaterialProperties -bool IfcGeneralMaterialProperties::hasMolecularWeight() const { return !entity->getArgument(1)->isNull(); } -double IfcGeneralMaterialProperties::MolecularWeight() const { return *entity->getArgument(1); } -void IfcGeneralMaterialProperties::setMolecularWeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcGeneralMaterialProperties::hasPorosity() const { return !entity->getArgument(2)->isNull(); } -double IfcGeneralMaterialProperties::Porosity() const { return *entity->getArgument(2); } -void IfcGeneralMaterialProperties::setPorosity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeneralMaterialProperties::hasMassDensity() const { return !entity->getArgument(3)->isNull(); } -double IfcGeneralMaterialProperties::MassDensity() const { return *entity->getArgument(3); } -void IfcGeneralMaterialProperties::setMassDensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcGeneralMaterialProperties::MolecularWeight() const { return *entity->getArgument(1); } +void IfcGeneralMaterialProperties::MolecularWeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcGeneralMaterialProperties::Porosity() const { return *entity->getArgument(2); } +void IfcGeneralMaterialProperties::Porosity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcGeneralMaterialProperties::MassDensity() const { return *entity->getArgument(3); } +void IfcGeneralMaterialProperties::MassDensity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcGeneralMaterialProperties::is(Type::Enum v) const { return v == Type::IfcGeneralMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcGeneralMaterialProperties::type() const { return Type::IfcGeneralMaterialProperties; } Type::Enum IfcGeneralMaterialProperties::Class() { return Type::IfcGeneralMaterialProperties; } @@ -9485,26 +9290,21 @@ IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcAbstractEntity* e) IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_MolecularWeight, boost::optional< double > v3_Porosity, boost::optional< double > v4_MassDensity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_MolecularWeight) { e->setArgument(1,(*v2_MolecularWeight)); } else { e->setArgument(1); } if (v3_Porosity) { e->setArgument(2,(*v3_Porosity)); } else { e->setArgument(2); } if (v4_MassDensity) { e->setArgument(3,(*v4_MassDensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeneralProfileProperties -bool IfcGeneralProfileProperties::hasPhysicalWeight() const { return !entity->getArgument(2)->isNull(); } -double IfcGeneralProfileProperties::PhysicalWeight() const { return *entity->getArgument(2); } -void IfcGeneralProfileProperties::setPhysicalWeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeneralProfileProperties::hasPerimeter() const { return !entity->getArgument(3)->isNull(); } -double IfcGeneralProfileProperties::Perimeter() const { return *entity->getArgument(3); } -void IfcGeneralProfileProperties::setPerimeter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcGeneralProfileProperties::hasMinimumPlateThickness() const { return !entity->getArgument(4)->isNull(); } -double IfcGeneralProfileProperties::MinimumPlateThickness() const { return *entity->getArgument(4); } -void IfcGeneralProfileProperties::setMinimumPlateThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcGeneralProfileProperties::hasMaximumPlateThickness() const { return !entity->getArgument(5)->isNull(); } -double IfcGeneralProfileProperties::MaximumPlateThickness() const { return *entity->getArgument(5); } -void IfcGeneralProfileProperties::setMaximumPlateThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcGeneralProfileProperties::hasCrossSectionArea() const { return !entity->getArgument(6)->isNull(); } -double IfcGeneralProfileProperties::CrossSectionArea() const { return *entity->getArgument(6); } -void IfcGeneralProfileProperties::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcGeneralProfileProperties::PhysicalWeight() const { return *entity->getArgument(2); } +void IfcGeneralProfileProperties::PhysicalWeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcGeneralProfileProperties::Perimeter() const { return *entity->getArgument(3); } +void IfcGeneralProfileProperties::Perimeter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcGeneralProfileProperties::MinimumPlateThickness() const { return *entity->getArgument(4); } +void IfcGeneralProfileProperties::MinimumPlateThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcGeneralProfileProperties::MaximumPlateThickness() const { return *entity->getArgument(5); } +void IfcGeneralProfileProperties::MaximumPlateThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcGeneralProfileProperties::CrossSectionArea() const { return *entity->getArgument(6); } +void IfcGeneralProfileProperties::CrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcGeneralProfileProperties::is(Type::Enum v) const { return v == Type::IfcGeneralProfileProperties || IfcProfileProperties::is(v); } Type::Enum IfcGeneralProfileProperties::type() const { return Type::IfcGeneralProfileProperties; } Type::Enum IfcGeneralProfileProperties::Class() { return Type::IfcGeneralProfileProperties; } IfcGeneralProfileProperties::IfcGeneralProfileProperties(IfcAbstractEntity* e) : IfcProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeneralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } if (v2_ProfileDefinition) { e->setArgument(1,(*v2_ProfileDefinition)); } else { e->setArgument(1); } if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricCurveSet bool IfcGeometricCurveSet::is(Type::Enum v) const { return v == Type::IfcGeometricCurveSet || IfcGeometricSet::is(v); } @@ -9515,21 +9315,19 @@ IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : Ifc // Function implementations for IfcGeometricRepresentationContext int IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } -void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeometricRepresentationContext::hasPrecision() const { return !entity->getArgument(3)->isNull(); } -double IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } -void IfcGeometricRepresentationContext::setPrecision(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcGeometricRepresentationContext::CoordinateSpaceDimension(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } +void IfcGeometricRepresentationContext::Precision(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } IfcAxis2Placement* IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !entity->getArgument(5)->isNull(); } -IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcGeometricRepresentationContext::WorldCoordinateSystem(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< IfcDirection* > IfcGeometricRepresentationContext::TrueNorth() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcGeometricRepresentationContext::TrueNorth(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return entity->getInverse(Type::IfcGeometricRepresentationSubContext, 6)->as(); } bool IfcGeometricRepresentationContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationContext || IfcRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationContext::type() const { return Type::IfcGeometricRepresentationContext; } Type::Enum IfcGeometricRepresentationContext::Class() { return Type::IfcGeometricRepresentationContext; } IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcAbstractEntity* e) : IfcRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, boost::optional< IfcDirection* > v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); if (v6_TrueNorth) { e->setArgument(5,(*v6_TrueNorth)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationItem bool IfcGeometricRepresentationItem::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationItem || IfcRepresentationItem::is(v); } @@ -9540,15 +9338,13 @@ IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresenta // Function implementations for IfcGeometricRepresentationSubContext IfcGeometricRepresentationContext* IfcGeometricRepresentationSubContext::ParentContext() const { return (IfcGeometricRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcGeometricRepresentationSubContext::setParentContext(IfcGeometricRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcGeometricRepresentationSubContext::hasTargetScale() const { return !entity->getArgument(7)->isNull(); } -double IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } -void IfcGeometricRepresentationSubContext::setTargetScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcGeometricRepresentationSubContext::ParentContext(IfcGeometricRepresentationContext* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } +void IfcGeometricRepresentationSubContext::TargetScale(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricRepresentationSubContext::TargetView() const { return IfcGeometricProjectionEnum::FromString(*entity->getArgument(8)); } -void IfcGeometricRepresentationSubContext::setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGeometricProjectionEnum::ToString(v)); } -bool IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !entity->getArgument(9)->isNull(); } -std::string IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } -void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcGeometricRepresentationSubContext::TargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcGeometricProjectionEnum::ToString(v));; } +boost::optional< std::string > IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } +void IfcGeometricRepresentationSubContext::UserDefinedTargetView(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcGeometricRepresentationSubContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationSubContext || IfcGeometricRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::IfcGeometricRepresentationSubContext; } Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } @@ -9557,7 +9353,7 @@ IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost // Function implementations for IfcGeometricSet IfcEntityList::ptr IfcGeometricSet::Elements() const { return *entity->getArgument(0); } -void IfcGeometricSet::setElements(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcGeometricSet::Elements(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcGeometricSet::is(Type::Enum v) const { return v == Type::IfcGeometricSet || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcGeometricSet::type() const { return Type::IfcGeometricSet; } Type::Enum IfcGeometricSet::Class() { return Type::IfcGeometricSet; } @@ -9566,27 +9362,25 @@ IfcGeometricSet::IfcGeometricSet(IfcEntityList::ptr v1_Elements) : IfcGeometricR // Function implementations for IfcGrid IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::UAxes() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcGrid::setUAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +void IfcGrid::UAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::VAxes() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcGrid::setVAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcGrid::hasWAxes() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::WAxes() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcGrid::setWAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +void IfcGrid::VAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v->generalize());; } +boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > IfcGrid::WAxes() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcGrid::WAxes(boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,(*v)->generalize());; } else { w->setArgument(9); } } IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } bool IfcGrid::is(Type::Enum v) const { return v == Type::IfcGrid || IfcProduct::is(v); } Type::Enum IfcGrid::type() const { return Type::IfcGrid; } Type::Enum IfcGrid::Class() { return Type::IfcGrid; } IfcGrid::IfcGrid(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGrid::IfcGrid(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcGrid::IfcGrid(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridAxis -bool IfcGridAxis::hasAxisTag() const { return !entity->getArgument(0)->isNull(); } -std::string IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } -void IfcGridAxis::setAxisTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } +void IfcGridAxis::AxisTag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcCurve* IfcGridAxis::AxisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcGridAxis::setAxisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcGridAxis::AxisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcGridAxis::SameSense() const { return *entity->getArgument(2); } -void IfcGridAxis::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcGridAxis::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return entity->getInverse(Type::IfcGrid, 9)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return entity->getInverse(Type::IfcGrid, 8)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return entity->getInverse(Type::IfcGrid, 7)->as(); } @@ -9599,15 +9393,14 @@ IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, IfcCurve* v2 // Function implementations for IfcGridPlacement IfcVirtualGridIntersection* IfcGridPlacement::PlacementLocation() const { return (IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcGridPlacement::setPlacementLocation(IfcVirtualGridIntersection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcGridPlacement::hasPlacementRefDirection() const { return !entity->getArgument(1)->isNull(); } -IfcVirtualGridIntersection* IfcGridPlacement::PlacementRefDirection() const { return (IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcGridPlacement::setPlacementRefDirection(IfcVirtualGridIntersection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcGridPlacement::PlacementLocation(IfcVirtualGridIntersection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcVirtualGridIntersection* > IfcGridPlacement::PlacementRefDirection() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcGridPlacement::PlacementRefDirection(boost::optional< IfcVirtualGridIntersection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcGridPlacement::is(Type::Enum v) const { return v == Type::IfcGridPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcGridPlacement::type() const { return Type::IfcGridPlacement; } Type::Enum IfcGridPlacement::Class() { return Type::IfcGridPlacement; } IfcGridPlacement::IfcGridPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGridPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, IfcVirtualGridIntersection* v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); e->setArgument(1,(v2_PlacementRefDirection)); entity = e; EntityBuffer::Add(this); } +IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcVirtualGridIntersection* > v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); if (v2_PlacementRefDirection) { e->setArgument(1,(*v2_PlacementRefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGroup IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return entity->getInverse(Type::IfcRelAssignsToGroup, 6)->as(); } @@ -9619,9 +9412,9 @@ IfcGroup::IfcGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, bo // Function implementations for IfcHalfSpaceSolid IfcSurface* IfcHalfSpaceSolid::BaseSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcHalfSpaceSolid::setBaseSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcHalfSpaceSolid::BaseSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcHalfSpaceSolid::AgreementFlag() const { return *entity->getArgument(1); } -void IfcHalfSpaceSolid::setAgreementFlag(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcHalfSpaceSolid::AgreementFlag(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcHalfSpaceSolid::is(Type::Enum v) const { return v == Type::IfcHalfSpaceSolid || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcHalfSpaceSolid::type() const { return Type::IfcHalfSpaceSolid; } Type::Enum IfcHalfSpaceSolid::Class() { return Type::IfcHalfSpaceSolid; } @@ -9630,7 +9423,7 @@ IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcSurface* v1_BaseSurface, bool v2_Agreeme // Function implementations for IfcHeatExchangerType IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchangerType::PredefinedType() const { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcHeatExchangerType::setPredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcHeatExchangerTypeEnum::ToString(v)); } +void IfcHeatExchangerType::PredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcHeatExchangerTypeEnum::ToString(v));; } bool IfcHeatExchangerType::is(Type::Enum v) const { return v == Type::IfcHeatExchangerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcHeatExchangerType::type() const { return Type::IfcHeatExchangerType; } Type::Enum IfcHeatExchangerType::Class() { return Type::IfcHeatExchangerType; } @@ -9639,7 +9432,7 @@ IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, IfcOwnerHist // Function implementations for IfcHumidifierType IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierType::PredefinedType() const { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(9)); } -void IfcHumidifierType::setPredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcHumidifierTypeEnum::ToString(v)); } +void IfcHumidifierType::PredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcHumidifierTypeEnum::ToString(v));; } bool IfcHumidifierType::is(Type::Enum v) const { return v == Type::IfcHumidifierType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcHumidifierType::type() const { return Type::IfcHumidifierType; } Type::Enum IfcHumidifierType::Class() { return Type::IfcHumidifierType; } @@ -9647,21 +9440,16 @@ IfcHumidifierType::IfcHumidifierType(IfcAbstractEntity* e) : IfcEnergyConversion IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHygroscopicMaterialProperties -bool IfcHygroscopicMaterialProperties::hasUpperVaporResistanceFactor() const { return !entity->getArgument(1)->isNull(); } -double IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { return *entity->getArgument(1); } -void IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcHygroscopicMaterialProperties::hasLowerVaporResistanceFactor() const { return !entity->getArgument(2)->isNull(); } -double IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { return *entity->getArgument(2); } -void IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcHygroscopicMaterialProperties::hasIsothermalMoistureCapacity() const { return !entity->getArgument(3)->isNull(); } -double IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { return *entity->getArgument(3); } -void IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcHygroscopicMaterialProperties::hasVaporPermeability() const { return !entity->getArgument(4)->isNull(); } -double IfcHygroscopicMaterialProperties::VaporPermeability() const { return *entity->getArgument(4); } -void IfcHygroscopicMaterialProperties::setVaporPermeability(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcHygroscopicMaterialProperties::hasMoistureDiffusivity() const { return !entity->getArgument(5)->isNull(); } -double IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { return *entity->getArgument(5); } -void IfcHygroscopicMaterialProperties::setMoistureDiffusivity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< double > IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { return *entity->getArgument(1); } +void IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { return *entity->getArgument(2); } +void IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { return *entity->getArgument(3); } +void IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcHygroscopicMaterialProperties::VaporPermeability() const { return *entity->getArgument(4); } +void IfcHygroscopicMaterialProperties::VaporPermeability(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { return *entity->getArgument(5); } +void IfcHygroscopicMaterialProperties::MoistureDiffusivity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcHygroscopicMaterialProperties::is(Type::Enum v) const { return v == Type::IfcHygroscopicMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcHygroscopicMaterialProperties::type() const { return Type::IfcHygroscopicMaterialProperties; } Type::Enum IfcHygroscopicMaterialProperties::Class() { return Type::IfcHygroscopicMaterialProperties; } @@ -9670,16 +9458,15 @@ IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcMaterial* // Function implementations for IfcIShapeProfileDef double IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } -void IfcIShapeProfileDef::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcIShapeProfileDef::OverallWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } -void IfcIShapeProfileDef::setOverallDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcIShapeProfileDef::OverallDepth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcIShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcIShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcIShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcIShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcIShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcIShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcIShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcIShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcIShapeProfileDef::type() const { return Type::IfcIShapeProfileDef; } Type::Enum IfcIShapeProfileDef::Class() { return Type::IfcIShapeProfileDef; } @@ -9688,48 +9475,46 @@ IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum // Function implementations for IfcImageTexture std::string IfcImageTexture::UrlReference() const { return *entity->getArgument(4); } -void IfcImageTexture::setUrlReference(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcImageTexture::UrlReference(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcImageTexture::is(Type::Enum v) const { return v == Type::IfcImageTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcImageTexture::type() const { return Type::IfcImageTexture; } Type::Enum IfcImageTexture::Class() { return Type::IfcImageTexture; } IfcImageTexture::IfcImageTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_UrlReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_UrlReference)); entity = e; EntityBuffer::Add(this); } +IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, std::string v5_UrlReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } e->setArgument(4,(v5_UrlReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInventory IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::InventoryType() const { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } -void IfcInventory::setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcInventoryTypeEnum::ToString(v)); } +void IfcInventory::InventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcInventoryTypeEnum::ToString(v));; } IfcActorSelect* IfcInventory::Jurisdiction() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcInventory::setJurisdiction(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcInventory::Jurisdiction(IfcActorSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcTemplatedEntityList< IfcPerson >::ptr IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +void IfcInventory::ResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } IfcCalendarDate* IfcInventory::LastUpdateDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcInventory::setLastUpdateDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcInventory::hasCurrentValue() const { return !entity->getArgument(9)->isNull(); } -IfcCostValue* IfcInventory::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcInventory::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcInventory::hasOriginalValue() const { return !entity->getArgument(10)->isNull(); } -IfcCostValue* IfcInventory::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcInventory::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcInventory::LastUpdateDate(IfcCalendarDate* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< IfcCostValue* > IfcInventory::CurrentValue() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcInventory::CurrentValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcCostValue* > IfcInventory::OriginalValue() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcInventory::OriginalValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcInventory::is(Type::Enum v) const { return v == Type::IfcInventory || IfcGroup::is(v); } Type::Enum IfcInventory::type() const { return Type::IfcInventory; } Type::Enum IfcInventory::Class() { return Type::IfcInventory; } IfcInventory::IfcInventory(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInventory::IfcInventory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect* v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_InventoryType,IfcInventoryTypeEnum::ToString(v6_InventoryType)); e->setArgument(6,(v7_Jurisdiction)); e->setArgument(7,(v8_ResponsiblePersons)->generalize()); e->setArgument(8,(v9_LastUpdateDate)); e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } +IfcInventory::IfcInventory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect* v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, boost::optional< IfcCostValue* > v10_CurrentValue, boost::optional< IfcCostValue* > v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_InventoryType,IfcInventoryTypeEnum::ToString(v6_InventoryType)); e->setArgument(6,(v7_Jurisdiction)); e->setArgument(7,(v8_ResponsiblePersons)->generalize()); e->setArgument(8,(v9_LastUpdateDate)); if (v10_CurrentValue) { e->setArgument(9,(*v10_CurrentValue)); } else { e->setArgument(9); } if (v11_OriginalValue) { e->setArgument(10,(*v11_OriginalValue)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeries IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr IfcIrregularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcIrregularTimeSeries::setValues(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +void IfcIrregularTimeSeries::Values(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v->generalize());; } bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeriesValue IfcDateTimeSelect* IfcIrregularTimeSeriesValue::TimeStamp() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcIrregularTimeSeriesValue::setTimeStamp(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcIrregularTimeSeriesValue::TimeStamp(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcIrregularTimeSeriesValue::ListValues() const { return *entity->getArgument(1); } -void IfcIrregularTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcIrregularTimeSeriesValue::ListValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcIrregularTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::type() const { return Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::Class() { return Type::IfcIrregularTimeSeriesValue; } @@ -9738,7 +9523,7 @@ IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTimeSelect* v1_T // Function implementations for IfcJunctionBoxType IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxType::PredefinedType() const { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(9)); } -void IfcJunctionBoxType::setPredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcJunctionBoxTypeEnum::ToString(v)); } +void IfcJunctionBoxType::PredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcJunctionBoxTypeEnum::ToString(v));; } bool IfcJunctionBoxType::is(Type::Enum v) const { return v == Type::IfcJunctionBoxType || IfcFlowFittingType::is(v); } Type::Enum IfcJunctionBoxType::type() const { return Type::IfcJunctionBoxType; } Type::Enum IfcJunctionBoxType::Class() { return Type::IfcJunctionBoxType; } @@ -9747,27 +9532,21 @@ IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcLShapeProfileDef double IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcLShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLShapeProfileDef::hasWidth() const { return !entity->getArgument(4)->isNull(); } -double IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcLShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< double > IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } +void IfcLShapeProfileDef::Width(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } double IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } -void IfcLShapeProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcLShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(6)->isNull(); } -double IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } -void IfcLShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcLShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } -void IfcLShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcLShapeProfileDef::hasLegSlope() const { return !entity->getArgument(8)->isNull(); } -double IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } -void IfcLShapeProfileDef::setLegSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcLShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(9)->isNull(); } -double IfcLShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(9); } -void IfcLShapeProfileDef::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcLShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(10)->isNull(); } -double IfcLShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(10); } -void IfcLShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcLShapeProfileDef::Thickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< double > IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } +void IfcLShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } +void IfcLShapeProfileDef::EdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } +void IfcLShapeProfileDef::LegSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcLShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(9); } +void IfcLShapeProfileDef::CentreOfGravityInX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcLShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(10); } +void IfcLShapeProfileDef::CentreOfGravityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcLShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcLShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcLShapeProfileDef::type() const { return Type::IfcLShapeProfileDef; } Type::Enum IfcLShapeProfileDef::Class() { return Type::IfcLShapeProfileDef; } @@ -9775,18 +9554,17 @@ IfcLShapeProfileDef::IfcLShapeProfileDef(IfcAbstractEntity* e) : IfcParameterize IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope, boost::optional< double > v10_CentreOfGravityInX, boost::optional< double > v11_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } if (v10_CentreOfGravityInX) { e->setArgument(9,(*v10_CentreOfGravityInX)); } else { e->setArgument(9); } if (v11_CentreOfGravityInY) { e->setArgument(10,(*v11_CentreOfGravityInY)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResource -bool IfcLaborResource::hasSkillSet() const { return !entity->getArgument(9)->isNull(); } -std::string IfcLaborResource::SkillSet() const { return *entity->getArgument(9); } -void IfcLaborResource::setSkillSet(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< std::string > IfcLaborResource::SkillSet() const { return *entity->getArgument(9); } +void IfcLaborResource::SkillSet(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcLaborResource::is(Type::Enum v) const { return v == Type::IfcLaborResource || IfcConstructionResource::is(v); } Type::Enum IfcLaborResource::type() const { return Type::IfcLaborResource; } Type::Enum IfcLaborResource::Class() { return Type::IfcLaborResource; } IfcLaborResource::IfcLaborResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< std::string > v10_SkillSet) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SkillSet) { e->setArgument(9,(*v10_SkillSet)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity, boost::optional< std::string > v10_SkillSet) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } if (v10_SkillSet) { e->setArgument(9,(*v10_SkillSet)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLampType IfcLampTypeEnum::IfcLampTypeEnum IfcLampType::PredefinedType() const { return IfcLampTypeEnum::FromString(*entity->getArgument(9)); } -void IfcLampType::setPredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcLampTypeEnum::ToString(v)); } +void IfcLampType::PredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcLampTypeEnum::ToString(v));; } bool IfcLampType::is(Type::Enum v) const { return v == Type::IfcLampType || IfcFlowTerminalType::is(v); } Type::Enum IfcLampType::type() const { return Type::IfcLampType; } Type::Enum IfcLampType::Class() { return Type::IfcLampType; } @@ -9795,24 +9573,20 @@ IfcLampType::IfcLampType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcLibraryInformation std::string IfcLibraryInformation::Name() const { return *entity->getArgument(0); } -void IfcLibraryInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcLibraryInformation::hasVersion() const { return !entity->getArgument(1)->isNull(); } -std::string IfcLibraryInformation::Version() const { return *entity->getArgument(1); } -void IfcLibraryInformation::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLibraryInformation::hasPublisher() const { return !entity->getArgument(2)->isNull(); } -IfcOrganization* IfcLibraryInformation::Publisher() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcLibraryInformation::setPublisher(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLibraryInformation::hasVersionDate() const { return !entity->getArgument(3)->isNull(); } -IfcCalendarDate* IfcLibraryInformation::VersionDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcLibraryInformation::setVersionDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLibraryInformation::hasLibraryReference() const { return !entity->getArgument(4)->isNull(); } -IfcTemplatedEntityList< IfcLibraryReference >::ptr IfcLibraryInformation::LibraryReference() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcLibraryInformation::setLibraryReference(IfcTemplatedEntityList< IfcLibraryReference >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcLibraryInformation::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcLibraryInformation::Version() const { return *entity->getArgument(1); } +void IfcLibraryInformation::Version(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcOrganization* > IfcLibraryInformation::Publisher() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLibraryInformation::Publisher(boost::optional< IfcOrganization* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcCalendarDate* > IfcLibraryInformation::VersionDate() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLibraryInformation::VersionDate(boost::optional< IfcCalendarDate* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > IfcLibraryInformation::LibraryReference() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcLibraryInformation::LibraryReference(boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,(*v)->generalize());; } else { w->setArgument(4); } } bool IfcLibraryInformation::is(Type::Enum v) const { return v == Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::type() const { return Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::Class() { return Type::IfcLibraryInformation; } IfcLibraryInformation::IfcLibraryInformation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } e->setArgument(2,(v3_Publisher)); e->setArgument(3,(v4_VersionDate)); if (v5_LibraryReference) { e->setArgument(4,(*v5_LibraryReference)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, boost::optional< IfcOrganization* > v3_Publisher, boost::optional< IfcCalendarDate* > v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } if (v3_Publisher) { e->setArgument(2,(*v3_Publisher)); } else { e->setArgument(2); } if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_LibraryReference) { e->setArgument(4,(*v5_LibraryReference)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryReference IfcLibraryInformation::list::ptr IfcLibraryReference::ReferenceIntoLibrary() const { return entity->getInverse(Type::IfcLibraryInformation, 4)->as(); } @@ -9824,11 +9598,11 @@ IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Locat // Function implementations for IfcLightDistributionData double IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } -void IfcLightDistributionData::setMainPlaneAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcLightDistributionData::MainPlaneAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::vector< double > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } -void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcLightDistributionData::SecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } std::vector< double > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } -void IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcLightDistributionData::LuminousIntensity(std::vector< double > /*[1:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcLightDistributionData::is(Type::Enum v) const { return v == Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::type() const { return Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::Class() { return Type::IfcLightDistributionData; } @@ -9837,7 +9611,7 @@ IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std // Function implementations for IfcLightFixtureType IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureType::PredefinedType() const { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(9)); } -void IfcLightFixtureType::setPredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcLightFixtureTypeEnum::ToString(v)); } +void IfcLightFixtureType::PredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcLightFixtureTypeEnum::ToString(v));; } bool IfcLightFixtureType::is(Type::Enum v) const { return v == Type::IfcLightFixtureType || IfcFlowTerminalType::is(v); } Type::Enum IfcLightFixtureType::type() const { return Type::IfcLightFixtureType; } Type::Enum IfcLightFixtureType::Class() { return Type::IfcLightFixtureType; } @@ -9846,9 +9620,9 @@ IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcLightIntensityDistribution IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() const { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } -void IfcLightIntensityDistribution::setLightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcLightDistributionCurveEnum::ToString(v)); } +void IfcLightIntensityDistribution::LightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcLightDistributionCurveEnum::ToString(v));; } IfcTemplatedEntityList< IfcLightDistributionData >::ptr IfcLightIntensityDistribution::DistributionData() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcLightIntensityDistribution::setDistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcLightIntensityDistribution::DistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcLightIntensityDistribution::is(Type::Enum v) const { return v == Type::IfcLightIntensityDistribution; } Type::Enum IfcLightIntensityDistribution::type() const { return Type::IfcLightIntensityDistribution; } Type::Enum IfcLightIntensityDistribution::Class() { return Type::IfcLightIntensityDistribution; } @@ -9856,17 +9630,14 @@ IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcAbstractEntity* IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, IfcTemplatedEntityList< IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_LightDistributionCurve,IfcLightDistributionCurveEnum::ToString(v1_LightDistributionCurve)); e->setArgument(1,(v2_DistributionData)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSource -bool IfcLightSource::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcLightSource::Name() const { return *entity->getArgument(0); } -void IfcLightSource::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcLightSource::Name() const { return *entity->getArgument(0); } +void IfcLightSource::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcColourRgb* IfcLightSource::LightColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcLightSource::setLightColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLightSource::hasAmbientIntensity() const { return !entity->getArgument(2)->isNull(); } -double IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } -void IfcLightSource::setAmbientIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLightSource::hasIntensity() const { return !entity->getArgument(3)->isNull(); } -double IfcLightSource::Intensity() const { return *entity->getArgument(3); } -void IfcLightSource::setIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcLightSource::LightColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< double > IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } +void IfcLightSource::AmbientIntensity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcLightSource::Intensity() const { return *entity->getArgument(3); } +void IfcLightSource::Intensity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcLightSource::is(Type::Enum v) const { return v == Type::IfcLightSource || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcLightSource::type() const { return Type::IfcLightSource; } Type::Enum IfcLightSource::Class() { return Type::IfcLightSource; } @@ -9882,7 +9653,7 @@ IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_N // Function implementations for IfcLightSourceDirectional IfcDirection* IfcLightSourceDirectional::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcLightSourceDirectional::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLightSourceDirectional::Orientation(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcLightSourceDirectional::is(Type::Enum v) const { return v == Type::IfcLightSourceDirectional || IfcLightSource::is(v); } Type::Enum IfcLightSourceDirectional::type() const { return Type::IfcLightSourceDirectional; } Type::Enum IfcLightSourceDirectional::Class() { return Type::IfcLightSourceDirectional; } @@ -9891,35 +9662,34 @@ IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::strin // Function implementations for IfcLightSourceGoniometric IfcAxis2Placement3D* IfcLightSourceGoniometric::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcLightSourceGoniometric::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcLightSourceGoniometric::hasColourAppearance() const { return !entity->getArgument(5)->isNull(); } -IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcLightSourceGoniometric::setColourAppearance(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcLightSourceGoniometric::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< IfcColourRgb* > IfcLightSourceGoniometric::ColourAppearance() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLightSourceGoniometric::ColourAppearance(boost::optional< IfcColourRgb* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } double IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } -void IfcLightSourceGoniometric::setColourTemperature(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcLightSourceGoniometric::ColourTemperature(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } double IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } -void IfcLightSourceGoniometric::setLuminousFlux(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcLightSourceGoniometric::LuminousFlux(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() const { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } -void IfcLightSourceGoniometric::setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v)); } +void IfcLightSourceGoniometric::LightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v));; } IfcLightDistributionDataSourceSelect* IfcLightSourceGoniometric::LightDistributionDataSource() const { return (IfcLightDistributionDataSourceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcLightSourceGoniometric::LightDistributionDataSource(IfcLightDistributionDataSourceSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } bool IfcLightSourceGoniometric::is(Type::Enum v) const { return v == Type::IfcLightSourceGoniometric || IfcLightSource::is(v); } Type::Enum IfcLightSourceGoniometric::type() const { return Type::IfcLightSourceGoniometric; } Type::Enum IfcLightSourceGoniometric::Class() { return Type::IfcLightSourceGoniometric; } IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, boost::optional< IfcColourRgb* > v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); if (v6_ColourAppearance) { e->setArgument(5,(*v6_ColourAppearance)); } else { e->setArgument(5); } e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourcePositional IfcCartesianPoint* IfcLightSourcePositional::Position() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcLightSourcePositional::setPosition(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLightSourcePositional::Position(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } -void IfcLightSourcePositional::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcLightSourcePositional::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } -void IfcLightSourcePositional::setConstantAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcLightSourcePositional::ConstantAttenuation(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } double IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } -void IfcLightSourcePositional::setDistanceAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcLightSourcePositional::DistanceAttenuation(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } double IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } -void IfcLightSourcePositional::setQuadricAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcLightSourcePositional::QuadricAttenuation(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcLightSourcePositional::is(Type::Enum v) const { return v == Type::IfcLightSourcePositional || IfcLightSource::is(v); } Type::Enum IfcLightSourcePositional::type() const { return Type::IfcLightSourcePositional; } Type::Enum IfcLightSourcePositional::Class() { return Type::IfcLightSourcePositional; } @@ -9928,14 +9698,13 @@ IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string // Function implementations for IfcLightSourceSpot IfcDirection* IfcLightSourceSpot::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcLightSourceSpot::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcLightSourceSpot::hasConcentrationExponent() const { return !entity->getArgument(10)->isNull(); } -double IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } -void IfcLightSourceSpot::setConcentrationExponent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcLightSourceSpot::Orientation(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } +boost::optional< double > IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } +void IfcLightSourceSpot::ConcentrationExponent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } double IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } -void IfcLightSourceSpot::setSpreadAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcLightSourceSpot::SpreadAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } double IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } -void IfcLightSourceSpot::setBeamWidthAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcLightSourceSpot::BeamWidthAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } bool IfcLightSourceSpot::is(Type::Enum v) const { return v == Type::IfcLightSourceSpot || IfcLightSourcePositional::is(v); } Type::Enum IfcLightSourceSpot::type() const { return Type::IfcLightSourceSpot; } Type::Enum IfcLightSourceSpot::Class() { return Type::IfcLightSourceSpot; } @@ -9944,9 +9713,9 @@ IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, I // Function implementations for IfcLine IfcCartesianPoint* IfcLine::Pnt() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcLine::setPnt(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcLine::Pnt(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcVector* IfcLine::Dir() const { return (IfcVector*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcLine::setDir(IfcVector* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcLine::Dir(IfcVector* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcLine::is(Type::Enum v) const { return v == Type::IfcLine || IfcCurve::is(v); } Type::Enum IfcLine::type() const { return Type::IfcLine; } Type::Enum IfcLine::Class() { return Type::IfcLine; } @@ -9961,37 +9730,32 @@ IfcLinearDimension::IfcLinearDimension(IfcAbstractEntity* e) : IfcDimensionCurve IfcLinearDimension::IfcLinearDimension(IfcEntityList::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLocalPlacement -bool IfcLocalPlacement::hasPlacementRelTo() const { return !entity->getArgument(0)->isNull(); } -IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcLocalPlacement::setPlacementRelTo(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< IfcObjectPlacement* > IfcLocalPlacement::PlacementRelTo() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLocalPlacement::PlacementRelTo(boost::optional< IfcObjectPlacement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcAxis2Placement* IfcLocalPlacement::RelativePlacement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcLocalPlacement::RelativePlacement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcLocalPlacement::is(Type::Enum v) const { return v == Type::IfcLocalPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcLocalPlacement::type() const { return Type::IfcLocalPlacement; } Type::Enum IfcLocalPlacement::Class() { return Type::IfcLocalPlacement; } IfcLocalPlacement::IfcLocalPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLocalPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLocalPlacement::IfcLocalPlacement(IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } +IfcLocalPlacement::IfcLocalPlacement(boost::optional< IfcObjectPlacement* > v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_PlacementRelTo) { e->setArgument(0,(*v1_PlacementRelTo)); } else { e->setArgument(0); } e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLocalTime int IfcLocalTime::HourComponent() const { return *entity->getArgument(0); } -void IfcLocalTime::setHourComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcLocalTime::hasMinuteComponent() const { return !entity->getArgument(1)->isNull(); } -int IfcLocalTime::MinuteComponent() const { return *entity->getArgument(1); } -void IfcLocalTime::setMinuteComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLocalTime::hasSecondComponent() const { return !entity->getArgument(2)->isNull(); } -double IfcLocalTime::SecondComponent() const { return *entity->getArgument(2); } -void IfcLocalTime::setSecondComponent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLocalTime::hasZone() const { return !entity->getArgument(3)->isNull(); } -IfcCoordinatedUniversalTimeOffset* IfcLocalTime::Zone() const { return (IfcCoordinatedUniversalTimeOffset*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcLocalTime::setZone(IfcCoordinatedUniversalTimeOffset* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLocalTime::hasDaylightSavingOffset() const { return !entity->getArgument(4)->isNull(); } -int IfcLocalTime::DaylightSavingOffset() const { return *entity->getArgument(4); } -void IfcLocalTime::setDaylightSavingOffset(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLocalTime::HourComponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< int > IfcLocalTime::MinuteComponent() const { return *entity->getArgument(1); } +void IfcLocalTime::MinuteComponent(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcLocalTime::SecondComponent() const { return *entity->getArgument(2); } +void IfcLocalTime::SecondComponent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcCoordinatedUniversalTimeOffset* > IfcLocalTime::Zone() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCoordinatedUniversalTimeOffset*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLocalTime::Zone(boost::optional< IfcCoordinatedUniversalTimeOffset* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< int > IfcLocalTime::DaylightSavingOffset() const { return *entity->getArgument(4); } +void IfcLocalTime::DaylightSavingOffset(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcLocalTime::is(Type::Enum v) const { return v == Type::IfcLocalTime; } Type::Enum IfcLocalTime::type() const { return Type::IfcLocalTime; } Type::Enum IfcLocalTime::Class() { return Type::IfcLocalTime; } IfcLocalTime::IfcLocalTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLocalTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLocalTime::IfcLocalTime(int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< int > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourComponent)); if (v2_MinuteComponent) { e->setArgument(1,(*v2_MinuteComponent)); } else { e->setArgument(1); } if (v3_SecondComponent) { e->setArgument(2,(*v3_SecondComponent)); } else { e->setArgument(2); } e->setArgument(3,(v4_Zone)); if (v5_DaylightSavingOffset) { e->setArgument(4,(*v5_DaylightSavingOffset)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcLocalTime::IfcLocalTime(int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, boost::optional< IfcCoordinatedUniversalTimeOffset* > v4_Zone, boost::optional< int > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourComponent)); if (v2_MinuteComponent) { e->setArgument(1,(*v2_MinuteComponent)); } else { e->setArgument(1); } if (v3_SecondComponent) { e->setArgument(2,(*v3_SecondComponent)); } else { e->setArgument(2); } if (v4_Zone) { e->setArgument(3,(*v4_Zone)); } else { e->setArgument(3); } if (v5_DaylightSavingOffset) { e->setArgument(4,(*v5_DaylightSavingOffset)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLoop bool IfcLoop::is(Type::Enum v) const { return v == Type::IfcLoop || IfcTopologicalRepresentationItem::is(v); } @@ -10002,7 +9766,7 @@ IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcManifoldSolidBrep IfcClosedShell* IfcManifoldSolidBrep::Outer() const { return (IfcClosedShell*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcManifoldSolidBrep::setOuter(IfcClosedShell* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcManifoldSolidBrep::Outer(IfcClosedShell* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcManifoldSolidBrep::is(Type::Enum v) const { return v == Type::IfcManifoldSolidBrep || IfcSolidModel::is(v); } Type::Enum IfcManifoldSolidBrep::type() const { return Type::IfcManifoldSolidBrep; } Type::Enum IfcManifoldSolidBrep::Class() { return Type::IfcManifoldSolidBrep; } @@ -10011,9 +9775,9 @@ IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidM // Function implementations for IfcMappedItem IfcRepresentationMap* IfcMappedItem::MappingSource() const { return (IfcRepresentationMap*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMappedItem::setMappingSource(IfcRepresentationMap* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMappedItem::MappingSource(IfcRepresentationMap* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCartesianTransformationOperator* IfcMappedItem::MappingTarget() const { return (IfcCartesianTransformationOperator*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcMappedItem::setMappingTarget(IfcCartesianTransformationOperator* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMappedItem::MappingTarget(IfcCartesianTransformationOperator* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcMappedItem::is(Type::Enum v) const { return v == Type::IfcMappedItem || IfcRepresentationItem::is(v); } Type::Enum IfcMappedItem::type() const { return Type::IfcMappedItem; } Type::Enum IfcMappedItem::Class() { return Type::IfcMappedItem; } @@ -10022,7 +9786,7 @@ IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesia // Function implementations for IfcMaterial std::string IfcMaterial::Name() const { return *entity->getArgument(0); } -void IfcMaterial::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMaterial::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return entity->getInverse(Type::IfcMaterialDefinitionRepresentation, 3)->as(); } IfcMaterialClassificationRelationship::list::ptr IfcMaterial::ClassifiedAs() const { return entity->getInverse(Type::IfcMaterialClassificationRelationship, 1)->as(); } bool IfcMaterial::is(Type::Enum v) const { return v == Type::IfcMaterial; } @@ -10033,9 +9797,9 @@ IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity() { IfcWr // Function implementations for IfcMaterialClassificationRelationship IfcEntityList::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { return *entity->getArgument(0); } -void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMaterialClassificationRelationship::MaterialClassifications(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcMaterialClassificationRelationship::setClassifiedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMaterialClassificationRelationship::ClassifiedMaterial(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::type() const { return Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::Class() { return Type::IfcMaterialClassificationRelationship; } @@ -10044,7 +9808,7 @@ IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(Ifc // Function implementations for IfcMaterialDefinitionRepresentation IfcMaterial* IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcMaterialDefinitionRepresentation::setRepresentedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcMaterialDefinitionRepresentation::RepresentedMaterial(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcMaterialDefinitionRepresentation::is(Type::Enum v) const { return v == Type::IfcMaterialDefinitionRepresentation || IfcProductRepresentation::is(v); } Type::Enum IfcMaterialDefinitionRepresentation::type() const { return Type::IfcMaterialDefinitionRepresentation; } Type::Enum IfcMaterialDefinitionRepresentation::Class() { return Type::IfcMaterialDefinitionRepresentation; } @@ -10052,27 +9816,24 @@ IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbst IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayer -bool IfcMaterialLayer::hasMaterial() const { return !entity->getArgument(0)->isNull(); } -IfcMaterial* IfcMaterialLayer::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMaterialLayer::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< IfcMaterial* > IfcMaterialLayer::Material() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcMaterialLayer::Material(boost::optional< IfcMaterial* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } double IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } -void IfcMaterialLayer::setLayerThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialLayer::hasIsVentilated() const { return !entity->getArgument(2)->isNull(); } -bool IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } -void IfcMaterialLayer::setIsVentilated(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcMaterialLayer::LayerThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< bool > IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } +void IfcMaterialLayer::IsVentilated(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return entity->getInverse(Type::IfcMaterialLayerSet, 0)->as(); } bool IfcMaterialLayer::is(Type::Enum v) const { return v == Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayer::IfcMaterialLayer(boost::optional< IfcMaterial* > v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Material) { e->setArgument(0,(*v1_Material)); } else { e->setArgument(0); } e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSet IfcTemplatedEntityList< IfcMaterialLayer >::ptr IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcMaterialLayerSet::hasLayerSetName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } -void IfcMaterialLayerSet::setLayerSetName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMaterialLayerSet::MaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } +boost::optional< std::string > IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } +void IfcMaterialLayerSet::LayerSetName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::type() const { return Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::Class() { return Type::IfcMaterialLayerSet; } @@ -10081,13 +9842,13 @@ IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLaye // Function implementations for IfcMaterialLayerSetUsage IfcMaterialLayerSet* IfcMaterialLayerSetUsage::ForLayerSet() const { return (IfcMaterialLayerSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMaterialLayerSetUsage::setForLayerSet(IfcMaterialLayerSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMaterialLayerSetUsage::ForLayerSet(IfcMaterialLayerSet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerSetUsage::LayerSetDirection() const { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(1)); } -void IfcMaterialLayerSetUsage::setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcLayerSetDirectionEnum::ToString(v)); } +void IfcMaterialLayerSetUsage::LayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcLayerSetDirectionEnum::ToString(v));; } IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() const { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } -void IfcMaterialLayerSetUsage::setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcDirectionSenseEnum::ToString(v)); } +void IfcMaterialLayerSetUsage::DirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcDirectionSenseEnum::ToString(v));; } double IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } -void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcMaterialLayerSetUsage::OffsetFromReferenceLine(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcMaterialLayerSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } @@ -10096,7 +9857,7 @@ IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLa // Function implementations for IfcMaterialList IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialList::Materials() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcMaterialList::setMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcMaterialList::Materials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcMaterialList::is(Type::Enum v) const { return v == Type::IfcMaterialList; } Type::Enum IfcMaterialList::type() const { return Type::IfcMaterialList; } Type::Enum IfcMaterialList::Class() { return Type::IfcMaterialList; } @@ -10105,7 +9866,7 @@ IfcMaterialList::IfcMaterialList(IfcTemplatedEntityList< IfcMaterial >::ptr v1_M // Function implementations for IfcMaterialProperties IfcMaterial* IfcMaterialProperties::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMaterialProperties::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMaterialProperties::Material(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMaterialProperties; } Type::Enum IfcMaterialProperties::type() const { return Type::IfcMaterialProperties; } Type::Enum IfcMaterialProperties::Class() { return Type::IfcMaterialProperties; } @@ -10114,9 +9875,9 @@ IfcMaterialProperties::IfcMaterialProperties(IfcMaterial* v1_Material) : IfcUtil // Function implementations for IfcMeasureWithUnit IfcValue* IfcMeasureWithUnit::ValueComponent() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMeasureWithUnit::setValueComponent(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMeasureWithUnit::ValueComponent(IfcValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcUnit* IfcMeasureWithUnit::UnitComponent() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcMeasureWithUnit::setUnitComponent(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMeasureWithUnit::UnitComponent(IfcUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcMeasureWithUnit::is(Type::Enum v) const { return v == Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::type() const { return Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::Class() { return Type::IfcMeasureWithUnit; } @@ -10124,24 +9885,18 @@ IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseE IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue* v1_ValueComponent, IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalConcreteMaterialProperties -bool IfcMechanicalConcreteMaterialProperties::hasCompressiveStrength() const { return !entity->getArgument(6)->isNull(); } -double IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { return *entity->getArgument(6); } -void IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcMechanicalConcreteMaterialProperties::hasMaxAggregateSize() const { return !entity->getArgument(7)->isNull(); } -double IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { return *entity->getArgument(7); } -void IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcMechanicalConcreteMaterialProperties::hasAdmixturesDescription() const { return !entity->getArgument(8)->isNull(); } -std::string IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { return *entity->getArgument(8); } -void IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalConcreteMaterialProperties::hasWorkability() const { return !entity->getArgument(9)->isNull(); } -std::string IfcMechanicalConcreteMaterialProperties::Workability() const { return *entity->getArgument(9); } -void IfcMechanicalConcreteMaterialProperties::setWorkability(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMechanicalConcreteMaterialProperties::hasProtectivePoreRatio() const { return !entity->getArgument(10)->isNull(); } -double IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { return *entity->getArgument(10); } -void IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcMechanicalConcreteMaterialProperties::hasWaterImpermeability() const { return !entity->getArgument(11)->isNull(); } -std::string IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { return *entity->getArgument(11); } -void IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +boost::optional< double > IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { return *entity->getArgument(6); } +void IfcMechanicalConcreteMaterialProperties::CompressiveStrength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { return *entity->getArgument(7); } +void IfcMechanicalConcreteMaterialProperties::MaxAggregateSize(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { return *entity->getArgument(8); } +void IfcMechanicalConcreteMaterialProperties::AdmixturesDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcMechanicalConcreteMaterialProperties::Workability() const { return *entity->getArgument(9); } +void IfcMechanicalConcreteMaterialProperties::Workability(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { return *entity->getArgument(10); } +void IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< std::string > IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { return *entity->getArgument(11); } +void IfcMechanicalConcreteMaterialProperties::WaterImpermeability(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcMechanicalConcreteMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalConcreteMaterialProperties || IfcMechanicalMaterialProperties::is(v); } Type::Enum IfcMechanicalConcreteMaterialProperties::type() const { return Type::IfcMechanicalConcreteMaterialProperties; } Type::Enum IfcMechanicalConcreteMaterialProperties::Class() { return Type::IfcMechanicalConcreteMaterialProperties; } @@ -10149,17 +9904,15 @@ IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_CompressiveStrength, boost::optional< double > v8_MaxAggregateSize, boost::optional< std::string > v9_AdmixturesDescription, boost::optional< std::string > v10_Workability, boost::optional< double > v11_ProtectivePoreRatio, boost::optional< std::string > v12_WaterImpermeability) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_CompressiveStrength) { e->setArgument(6,(*v7_CompressiveStrength)); } else { e->setArgument(6); } if (v8_MaxAggregateSize) { e->setArgument(7,(*v8_MaxAggregateSize)); } else { e->setArgument(7); } if (v9_AdmixturesDescription) { e->setArgument(8,(*v9_AdmixturesDescription)); } else { e->setArgument(8); } if (v10_Workability) { e->setArgument(9,(*v10_Workability)); } else { e->setArgument(9); } if (v11_ProtectivePoreRatio) { e->setArgument(10,(*v11_ProtectivePoreRatio)); } else { e->setArgument(10); } if (v12_WaterImpermeability) { e->setArgument(11,(*v12_WaterImpermeability)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastener -bool IfcMechanicalFastener::hasNominalDiameter() const { return !entity->getArgument(8)->isNull(); } -double IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } -void IfcMechanicalFastener::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalFastener::hasNominalLength() const { return !entity->getArgument(9)->isNull(); } -double IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } -void IfcMechanicalFastener::setNominalLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } +void IfcMechanicalFastener::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } +void IfcMechanicalFastener::NominalLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcMechanicalFastener::is(Type::Enum v) const { return v == Type::IfcMechanicalFastener || IfcFastener::is(v); } Type::Enum IfcMechanicalFastener::type() const { return Type::IfcMechanicalFastener; } Type::Enum IfcMechanicalFastener::Class() { return Type::IfcMechanicalFastener; } IfcMechanicalFastener::IfcMechanicalFastener(IfcAbstractEntity* e) : IfcFastener((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength) : IfcFastener((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength) : IfcFastener((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastenerType bool IfcMechanicalFastenerType::is(Type::Enum v) const { return v == Type::IfcMechanicalFastenerType || IfcFastenerType::is(v); } @@ -10169,21 +9922,16 @@ IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcAbstractEntity* e) : Ifc IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFastenerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalMaterialProperties -bool IfcMechanicalMaterialProperties::hasDynamicViscosity() const { return !entity->getArgument(1)->isNull(); } -double IfcMechanicalMaterialProperties::DynamicViscosity() const { return *entity->getArgument(1); } -void IfcMechanicalMaterialProperties::setDynamicViscosity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMechanicalMaterialProperties::hasYoungModulus() const { return !entity->getArgument(2)->isNull(); } -double IfcMechanicalMaterialProperties::YoungModulus() const { return *entity->getArgument(2); } -void IfcMechanicalMaterialProperties::setYoungModulus(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcMechanicalMaterialProperties::hasShearModulus() const { return !entity->getArgument(3)->isNull(); } -double IfcMechanicalMaterialProperties::ShearModulus() const { return *entity->getArgument(3); } -void IfcMechanicalMaterialProperties::setShearModulus(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMechanicalMaterialProperties::hasPoissonRatio() const { return !entity->getArgument(4)->isNull(); } -double IfcMechanicalMaterialProperties::PoissonRatio() const { return *entity->getArgument(4); } -void IfcMechanicalMaterialProperties::setPoissonRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMechanicalMaterialProperties::hasThermalExpansionCoefficient() const { return !entity->getArgument(5)->isNull(); } -double IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { return *entity->getArgument(5); } -void IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< double > IfcMechanicalMaterialProperties::DynamicViscosity() const { return *entity->getArgument(1); } +void IfcMechanicalMaterialProperties::DynamicViscosity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcMechanicalMaterialProperties::YoungModulus() const { return *entity->getArgument(2); } +void IfcMechanicalMaterialProperties::YoungModulus(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcMechanicalMaterialProperties::ShearModulus() const { return *entity->getArgument(3); } +void IfcMechanicalMaterialProperties::ShearModulus(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcMechanicalMaterialProperties::PoissonRatio() const { return *entity->getArgument(4); } +void IfcMechanicalMaterialProperties::PoissonRatio(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { return *entity->getArgument(5); } +void IfcMechanicalMaterialProperties::ThermalExpansionCoefficient(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcMechanicalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcMechanicalMaterialProperties::type() const { return Type::IfcMechanicalMaterialProperties; } Type::Enum IfcMechanicalMaterialProperties::Class() { return Type::IfcMechanicalMaterialProperties; } @@ -10191,27 +9939,20 @@ IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcAbstractEnti IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalSteelMaterialProperties -bool IfcMechanicalSteelMaterialProperties::hasYieldStress() const { return !entity->getArgument(6)->isNull(); } -double IfcMechanicalSteelMaterialProperties::YieldStress() const { return *entity->getArgument(6); } -void IfcMechanicalSteelMaterialProperties::setYieldStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcMechanicalSteelMaterialProperties::hasUltimateStress() const { return !entity->getArgument(7)->isNull(); } -double IfcMechanicalSteelMaterialProperties::UltimateStress() const { return *entity->getArgument(7); } -void IfcMechanicalSteelMaterialProperties::setUltimateStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcMechanicalSteelMaterialProperties::hasUltimateStrain() const { return !entity->getArgument(8)->isNull(); } -double IfcMechanicalSteelMaterialProperties::UltimateStrain() const { return *entity->getArgument(8); } -void IfcMechanicalSteelMaterialProperties::setUltimateStrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalSteelMaterialProperties::hasHardeningModule() const { return !entity->getArgument(9)->isNull(); } -double IfcMechanicalSteelMaterialProperties::HardeningModule() const { return *entity->getArgument(9); } -void IfcMechanicalSteelMaterialProperties::setHardeningModule(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMechanicalSteelMaterialProperties::hasProportionalStress() const { return !entity->getArgument(10)->isNull(); } -double IfcMechanicalSteelMaterialProperties::ProportionalStress() const { return *entity->getArgument(10); } -void IfcMechanicalSteelMaterialProperties::setProportionalStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcMechanicalSteelMaterialProperties::hasPlasticStrain() const { return !entity->getArgument(11)->isNull(); } -double IfcMechanicalSteelMaterialProperties::PlasticStrain() const { return *entity->getArgument(11); } -void IfcMechanicalSteelMaterialProperties::setPlasticStrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcMechanicalSteelMaterialProperties::hasRelaxations() const { return !entity->getArgument(12)->isNull(); } -IfcTemplatedEntityList< IfcRelaxation >::ptr IfcMechanicalSteelMaterialProperties::Relaxations() const { IfcEntityList::ptr es = *entity->getArgument(12); return es->as(); } -void IfcMechanicalSteelMaterialProperties::setRelaxations(IfcTemplatedEntityList< IfcRelaxation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v->generalize()); } +boost::optional< double > IfcMechanicalSteelMaterialProperties::YieldStress() const { return *entity->getArgument(6); } +void IfcMechanicalSteelMaterialProperties::YieldStress(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcMechanicalSteelMaterialProperties::UltimateStress() const { return *entity->getArgument(7); } +void IfcMechanicalSteelMaterialProperties::UltimateStress(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcMechanicalSteelMaterialProperties::UltimateStrain() const { return *entity->getArgument(8); } +void IfcMechanicalSteelMaterialProperties::UltimateStrain(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcMechanicalSteelMaterialProperties::HardeningModule() const { return *entity->getArgument(9); } +void IfcMechanicalSteelMaterialProperties::HardeningModule(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcMechanicalSteelMaterialProperties::ProportionalStress() const { return *entity->getArgument(10); } +void IfcMechanicalSteelMaterialProperties::ProportionalStress(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcMechanicalSteelMaterialProperties::PlasticStrain() const { return *entity->getArgument(11); } +void IfcMechanicalSteelMaterialProperties::PlasticStrain(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > IfcMechanicalSteelMaterialProperties::Relaxations() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcMechanicalSteelMaterialProperties::Relaxations(boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,(*v)->generalize());; } else { w->setArgument(12); } } bool IfcMechanicalSteelMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalSteelMaterialProperties || IfcMechanicalMaterialProperties::is(v); } Type::Enum IfcMechanicalSteelMaterialProperties::type() const { return Type::IfcMechanicalSteelMaterialProperties; } Type::Enum IfcMechanicalSteelMaterialProperties::Class() { return Type::IfcMechanicalSteelMaterialProperties; } @@ -10223,11 +9964,11 @@ bool IfcMember::is(Type::Enum v) const { return v == Type::IfcMember || IfcBuild Type::Enum IfcMember::type() const { return Type::IfcMember; } Type::Enum IfcMember::Class() { return Type::IfcMember; } IfcMember::IfcMember(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMember::IfcMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcMember::IfcMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberType IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberType::PredefinedType() const { return IfcMemberTypeEnum::FromString(*entity->getArgument(9)); } -void IfcMemberType::setPredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMemberTypeEnum::ToString(v)); } +void IfcMemberType::PredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcMemberTypeEnum::ToString(v));; } bool IfcMemberType::is(Type::Enum v) const { return v == Type::IfcMemberType || IfcBuildingElementType::is(v); } Type::Enum IfcMemberType::type() const { return Type::IfcMemberType; } Type::Enum IfcMemberType::Class() { return Type::IfcMemberType; } @@ -10236,21 +9977,20 @@ IfcMemberType::IfcMemberType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcMetric IfcBenchmarkEnum::IfcBenchmarkEnum IfcMetric::Benchmark() const { return IfcBenchmarkEnum::FromString(*entity->getArgument(7)); } -void IfcMetric::setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcBenchmarkEnum::ToString(v)); } -bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } -std::string IfcMetric::ValueSource() const { return *entity->getArgument(8); } -void IfcMetric::setValueSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcMetric::Benchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcBenchmarkEnum::ToString(v));; } +boost::optional< std::string > IfcMetric::ValueSource() const { return *entity->getArgument(8); } +void IfcMetric::ValueSource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcMetricValueSelect* IfcMetric::DataValue() const { return (IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcMetric::setDataValue(IfcMetricValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcMetric::DataValue(IfcMetricValueSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } bool IfcMetric::is(Type::Enum v) const { return v == Type::IfcMetric || IfcConstraint::is(v); } Type::Enum IfcMetric::type() const { return Type::IfcMetric; } Type::Enum IfcMetric::Class() { return Type::IfcMetric; } IfcMetric::IfcMetric(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); e->setArgument(5,(v6_CreationTime)); if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); entity = e; EntityBuffer::Add(this); } +IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< IfcDateTimeSelect* > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMonetaryUnit IfcCurrencyEnum::IfcCurrencyEnum IfcMonetaryUnit::Currency() const { return IfcCurrencyEnum::FromString(*entity->getArgument(0)); } -void IfcMonetaryUnit::setCurrency(IfcCurrencyEnum::IfcCurrencyEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcCurrencyEnum::ToString(v)); } +void IfcMonetaryUnit::Currency(IfcCurrencyEnum::IfcCurrencyEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcCurrencyEnum::ToString(v));; } bool IfcMonetaryUnit::is(Type::Enum v) const { return v == Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::type() const { return Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::Class() { return Type::IfcMonetaryUnit; } @@ -10259,7 +9999,7 @@ IfcMonetaryUnit::IfcMonetaryUnit(IfcCurrencyEnum::IfcCurrencyEnum v1_Currency) : // Function implementations for IfcMotorConnectionType IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnectionType::PredefinedType() const { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(9)); } -void IfcMotorConnectionType::setPredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMotorConnectionTypeEnum::ToString(v)); } +void IfcMotorConnectionType::PredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcMotorConnectionTypeEnum::ToString(v));; } bool IfcMotorConnectionType::is(Type::Enum v) const { return v == Type::IfcMotorConnectionType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcMotorConnectionType::type() const { return Type::IfcMotorConnectionType; } Type::Enum IfcMotorConnectionType::Class() { return Type::IfcMotorConnectionType; } @@ -10268,12 +10008,11 @@ IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, IfcOwner // Function implementations for IfcMove IfcSpatialStructureElement* IfcMove::MoveFrom() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcMove::setMoveFrom(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcMove::MoveFrom(IfcSpatialStructureElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } IfcSpatialStructureElement* IfcMove::MoveTo() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcMove::setMoveTo(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcMove::hasPunchList() const { return !entity->getArgument(12)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcMove::PunchList() const { return *entity->getArgument(12); } -void IfcMove::setPunchList(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcMove::MoveTo(IfcSpatialStructureElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcMove::PunchList() const { return *entity->getArgument(12); } +void IfcMove::PunchList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcMove::is(Type::Enum v) const { return v == Type::IfcMove || IfcTask::is(v); } Type::Enum IfcMove::type() const { return Type::IfcMove; } Type::Enum IfcMove::Class() { return Type::IfcMove; } @@ -10282,9 +10021,9 @@ IfcMove::IfcMove(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boos // Function implementations for IfcNamedUnit IfcDimensionalExponents* IfcNamedUnit::Dimensions() const { return (IfcDimensionalExponents*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcNamedUnit::setDimensions(IfcDimensionalExponents* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcNamedUnit::Dimensions(IfcDimensionalExponents* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcUnitEnum::IfcUnitEnum IfcNamedUnit::UnitType() const { return IfcUnitEnum::FromString(*entity->getArgument(1)); } -void IfcNamedUnit::setUnitType(IfcUnitEnum::IfcUnitEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcUnitEnum::ToString(v)); } +void IfcNamedUnit::UnitType(IfcUnitEnum::IfcUnitEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcUnitEnum::ToString(v));; } bool IfcNamedUnit::is(Type::Enum v) const { return v == Type::IfcNamedUnit; } Type::Enum IfcNamedUnit::type() const { return Type::IfcNamedUnit; } Type::Enum IfcNamedUnit::Class() { return Type::IfcNamedUnit; } @@ -10292,9 +10031,8 @@ IfcNamedUnit::IfcNamedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if IfcNamedUnit::IfcNamedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObject -bool IfcObject::hasObjectType() const { return !entity->getArgument(4)->isNull(); } -std::string IfcObject::ObjectType() const { return *entity->getArgument(4); } -void IfcObject::setObjectType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcObject::ObjectType() const { return *entity->getArgument(4); } +void IfcObject::ObjectType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcRelDefines::list::ptr IfcObject::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefines, 4)->as(); } bool IfcObject::is(Type::Enum v) const { return v == Type::IfcObject || IfcObjectDefinition::is(v); } Type::Enum IfcObject::type() const { return Type::IfcObject; } @@ -10323,26 +10061,23 @@ IfcObjectPlacement::IfcObjectPlacement(IfcAbstractEntity* e) : IfcUtil::IfcBaseE IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjective -bool IfcObjective::hasBenchmarkValues() const { return !entity->getArgument(7)->isNull(); } -IfcMetric* IfcObjective::BenchmarkValues() const { return (IfcMetric*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcObjective::setBenchmarkValues(IfcMetric* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcObjective::hasResultValues() const { return !entity->getArgument(8)->isNull(); } -IfcMetric* IfcObjective::ResultValues() const { return (IfcMetric*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcObjective::setResultValues(IfcMetric* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< IfcMetric* > IfcObjective::BenchmarkValues() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcMetric*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcObjective::BenchmarkValues(boost::optional< IfcMetric* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcMetric* > IfcObjective::ResultValues() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcMetric*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcObjective::ResultValues(boost::optional< IfcMetric* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcObjectiveEnum::IfcObjectiveEnum IfcObjective::ObjectiveQualifier() const { return IfcObjectiveEnum::FromString(*entity->getArgument(9)); } -void IfcObjective::setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcObjectiveEnum::ToString(v)); } -bool IfcObjective::hasUserDefinedQualifier() const { return !entity->getArgument(10)->isNull(); } -std::string IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } -void IfcObjective::setUserDefinedQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcObjective::ObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcObjectiveEnum::ToString(v));; } +boost::optional< std::string > IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } +void IfcObjective::UserDefinedQualifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcObjective::is(Type::Enum v) const { return v == Type::IfcObjective || IfcConstraint::is(v); } Type::Enum IfcObjective::type() const { return Type::IfcObjective; } Type::Enum IfcObjective::Class() { return Type::IfcObjective; } IfcObjective::IfcObjective(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); e->setArgument(5,(v6_CreationTime)); if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,(v8_BenchmarkValues)); e->setArgument(8,(v9_ResultValues)); e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< IfcDateTimeSelect* > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcMetric* > v8_BenchmarkValues, boost::optional< IfcMetric* > v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)); } else { e->setArgument(7); } if (v9_ResultValues) { e->setArgument(8,(*v9_ResultValues)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOccupant IfcOccupantTypeEnum::IfcOccupantTypeEnum IfcOccupant::PredefinedType() const { return IfcOccupantTypeEnum::FromString(*entity->getArgument(6)); } -void IfcOccupant::setPredefinedType(IfcOccupantTypeEnum::IfcOccupantTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcOccupantTypeEnum::ToString(v)); } +void IfcOccupant::PredefinedType(IfcOccupantTypeEnum::IfcOccupantTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcOccupantTypeEnum::ToString(v));; } bool IfcOccupant::is(Type::Enum v) const { return v == Type::IfcOccupant || IfcActor::is(v); } Type::Enum IfcOccupant::type() const { return Type::IfcOccupant; } Type::Enum IfcOccupant::Class() { return Type::IfcOccupant; } @@ -10351,11 +10086,11 @@ IfcOccupant::IfcOccupant(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcOffsetCurve2D IfcCurve* IfcOffsetCurve2D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOffsetCurve2D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOffsetCurve2D::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve2D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcOffsetCurve2D::Distance(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcOffsetCurve2D::SelfIntersect() const { return *entity->getArgument(2); } -void IfcOffsetCurve2D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOffsetCurve2D::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcOffsetCurve2D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve2D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve2D::type() const { return Type::IfcOffsetCurve2D; } Type::Enum IfcOffsetCurve2D::Class() { return Type::IfcOffsetCurve2D; } @@ -10364,13 +10099,13 @@ IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, double v2_Distance, // Function implementations for IfcOffsetCurve3D IfcCurve* IfcOffsetCurve3D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOffsetCurve3D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOffsetCurve3D::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve3D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcOffsetCurve3D::Distance(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcOffsetCurve3D::SelfIntersect() const { return *entity->getArgument(2); } -void IfcOffsetCurve3D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOffsetCurve3D::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcDirection* IfcOffsetCurve3D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcOffsetCurve3D::setRefDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcOffsetCurve3D::RefDirection(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcOffsetCurve3D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve3D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve3D::type() const { return Type::IfcOffsetCurve3D; } Type::Enum IfcOffsetCurve3D::Class() { return Type::IfcOffsetCurve3D; } @@ -10379,7 +10114,7 @@ IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, double v2_Distance, // Function implementations for IfcOneDirectionRepeatFactor IfcVector* IfcOneDirectionRepeatFactor::RepeatFactor() const { return (IfcVector*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOneDirectionRepeatFactor::setRepeatFactor(IfcVector* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOneDirectionRepeatFactor::RepeatFactor(IfcVector* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcOneDirectionRepeatFactor::is(Type::Enum v) const { return v == Type::IfcOneDirectionRepeatFactor || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcOneDirectionRepeatFactor::type() const { return Type::IfcOneDirectionRepeatFactor; } Type::Enum IfcOneDirectionRepeatFactor::Class() { return Type::IfcOneDirectionRepeatFactor; } @@ -10399,36 +10134,27 @@ bool IfcOpeningElement::is(Type::Enum v) const { return v == Type::IfcOpeningEle Type::Enum IfcOpeningElement::type() const { return Type::IfcOpeningElement; } Type::Enum IfcOpeningElement::Class() { return Type::IfcOpeningElement; } IfcOpeningElement::IfcOpeningElement(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpticalMaterialProperties -bool IfcOpticalMaterialProperties::hasVisibleTransmittance() const { return !entity->getArgument(1)->isNull(); } -double IfcOpticalMaterialProperties::VisibleTransmittance() const { return *entity->getArgument(1); } -void IfcOpticalMaterialProperties::setVisibleTransmittance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOpticalMaterialProperties::hasSolarTransmittance() const { return !entity->getArgument(2)->isNull(); } -double IfcOpticalMaterialProperties::SolarTransmittance() const { return *entity->getArgument(2); } -void IfcOpticalMaterialProperties::setSolarTransmittance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcOpticalMaterialProperties::hasThermalIrTransmittance() const { return !entity->getArgument(3)->isNull(); } -double IfcOpticalMaterialProperties::ThermalIrTransmittance() const { return *entity->getArgument(3); } -void IfcOpticalMaterialProperties::setThermalIrTransmittance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcOpticalMaterialProperties::hasThermalIrEmissivityBack() const { return !entity->getArgument(4)->isNull(); } -double IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { return *entity->getArgument(4); } -void IfcOpticalMaterialProperties::setThermalIrEmissivityBack(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcOpticalMaterialProperties::hasThermalIrEmissivityFront() const { return !entity->getArgument(5)->isNull(); } -double IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { return *entity->getArgument(5); } -void IfcOpticalMaterialProperties::setThermalIrEmissivityFront(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcOpticalMaterialProperties::hasVisibleReflectanceBack() const { return !entity->getArgument(6)->isNull(); } -double IfcOpticalMaterialProperties::VisibleReflectanceBack() const { return *entity->getArgument(6); } -void IfcOpticalMaterialProperties::setVisibleReflectanceBack(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcOpticalMaterialProperties::hasVisibleReflectanceFront() const { return !entity->getArgument(7)->isNull(); } -double IfcOpticalMaterialProperties::VisibleReflectanceFront() const { return *entity->getArgument(7); } -void IfcOpticalMaterialProperties::setVisibleReflectanceFront(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcOpticalMaterialProperties::hasSolarReflectanceFront() const { return !entity->getArgument(8)->isNull(); } -double IfcOpticalMaterialProperties::SolarReflectanceFront() const { return *entity->getArgument(8); } -void IfcOpticalMaterialProperties::setSolarReflectanceFront(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcOpticalMaterialProperties::hasSolarReflectanceBack() const { return !entity->getArgument(9)->isNull(); } -double IfcOpticalMaterialProperties::SolarReflectanceBack() const { return *entity->getArgument(9); } -void IfcOpticalMaterialProperties::setSolarReflectanceBack(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcOpticalMaterialProperties::VisibleTransmittance() const { return *entity->getArgument(1); } +void IfcOpticalMaterialProperties::VisibleTransmittance(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcOpticalMaterialProperties::SolarTransmittance() const { return *entity->getArgument(2); } +void IfcOpticalMaterialProperties::SolarTransmittance(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcOpticalMaterialProperties::ThermalIrTransmittance() const { return *entity->getArgument(3); } +void IfcOpticalMaterialProperties::ThermalIrTransmittance(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { return *entity->getArgument(4); } +void IfcOpticalMaterialProperties::ThermalIrEmissivityBack(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { return *entity->getArgument(5); } +void IfcOpticalMaterialProperties::ThermalIrEmissivityFront(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcOpticalMaterialProperties::VisibleReflectanceBack() const { return *entity->getArgument(6); } +void IfcOpticalMaterialProperties::VisibleReflectanceBack(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcOpticalMaterialProperties::VisibleReflectanceFront() const { return *entity->getArgument(7); } +void IfcOpticalMaterialProperties::VisibleReflectanceFront(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcOpticalMaterialProperties::SolarReflectanceFront() const { return *entity->getArgument(8); } +void IfcOpticalMaterialProperties::SolarReflectanceFront(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcOpticalMaterialProperties::SolarReflectanceBack() const { return *entity->getArgument(9); } +void IfcOpticalMaterialProperties::SolarReflectanceBack(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcOpticalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcOpticalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcOpticalMaterialProperties::type() const { return Type::IfcOpticalMaterialProperties; } Type::Enum IfcOpticalMaterialProperties::Class() { return Type::IfcOpticalMaterialProperties; } @@ -10437,7 +10163,7 @@ IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcMaterial* v1_Mater // Function implementations for IfcOrderAction std::string IfcOrderAction::ActionID() const { return *entity->getArgument(10); } -void IfcOrderAction::setActionID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcOrderAction::ActionID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcOrderAction::is(Type::Enum v) const { return v == Type::IfcOrderAction || IfcTask::is(v); } Type::Enum IfcOrderAction::type() const { return Type::IfcOrderAction; } Type::Enum IfcOrderAction::Class() { return Type::IfcOrderAction; } @@ -10445,20 +10171,16 @@ IfcOrderAction::IfcOrderAction(IfcAbstractEntity* e) : IfcTask((IfcAbstractEntit IfcOrderAction::IfcOrderAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, std::string v11_ActionID) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_ActionID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganization -bool IfcOrganization::hasId() const { return !entity->getArgument(0)->isNull(); } -std::string IfcOrganization::Id() const { return *entity->getArgument(0); } -void IfcOrganization::setId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcOrganization::Id() const { return *entity->getArgument(0); } +void IfcOrganization::Id(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } std::string IfcOrganization::Name() const { return *entity->getArgument(1); } -void IfcOrganization::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOrganization::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcOrganization::Description() const { return *entity->getArgument(2); } -void IfcOrganization::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcOrganization::hasRoles() const { return !entity->getArgument(3)->isNull(); } -IfcTemplatedEntityList< IfcActorRole >::ptr IfcOrganization::Roles() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcOrganization::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcOrganization::hasAddresses() const { return !entity->getArgument(4)->isNull(); } -IfcTemplatedEntityList< IfcAddress >::ptr IfcOrganization::Addresses() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcOrganization::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcOrganization::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcOrganization::Description() const { return *entity->getArgument(2); } +void IfcOrganization::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > IfcOrganization::Roles() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcOrganization::Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,(*v)->generalize());; } else { w->setArgument(3); } } +boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > IfcOrganization::Addresses() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcOrganization::Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,(*v)->generalize());; } else { w->setArgument(4); } } IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return entity->getInverse(Type::IfcOrganizationRelationship, 3)->as(); } IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return entity->getInverse(Type::IfcOrganizationRelationship, 2)->as(); } IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return entity->getInverse(Type::IfcPersonAndOrganization, 1)->as(); } @@ -10470,14 +10192,13 @@ IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Id, std::stri // Function implementations for IfcOrganizationRelationship std::string IfcOrganizationRelationship::Name() const { return *entity->getArgument(0); } -void IfcOrganizationRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcOrganizationRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcOrganizationRelationship::Description() const { return *entity->getArgument(1); } -void IfcOrganizationRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcOrganizationRelationship::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcOrganizationRelationship::Description() const { return *entity->getArgument(1); } +void IfcOrganizationRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcOrganizationRelationship::setRelatingOrganization(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOrganizationRelationship::RelatingOrganization(IfcOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcOrganization >::ptr IfcOrganizationRelationship::RelatedOrganizations() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcOrganizationRelationship::setRelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcOrganizationRelationship::RelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcOrganizationRelationship::is(Type::Enum v) const { return v == Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::type() const { return Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::Class() { return Type::IfcOrganizationRelationship; } @@ -10486,9 +10207,9 @@ IfcOrganizationRelationship::IfcOrganizationRelationship(std::string v1_Name, bo // Function implementations for IfcOrientedEdge IfcEdge* IfcOrientedEdge::EdgeElement() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcOrientedEdge::setEdgeElement(IfcEdge* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOrientedEdge::EdgeElement(IfcEdge* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcOrientedEdge::Orientation() const { return *entity->getArgument(3); } -void IfcOrientedEdge::setOrientation(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcOrientedEdge::Orientation(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcOrientedEdge::is(Type::Enum v) const { return v == Type::IfcOrientedEdge || IfcEdge::is(v); } Type::Enum IfcOrientedEdge::type() const { return Type::IfcOrientedEdge; } Type::Enum IfcOrientedEdge::Class() { return Type::IfcOrientedEdge; } @@ -10497,7 +10218,7 @@ IfcOrientedEdge::IfcOrientedEdge(IfcEdge* v3_EdgeElement, bool v4_Orientation) : // Function implementations for IfcOutletType IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutletType::PredefinedType() const { return IfcOutletTypeEnum::FromString(*entity->getArgument(9)); } -void IfcOutletType::setPredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcOutletTypeEnum::ToString(v)); } +void IfcOutletType::PredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcOutletTypeEnum::ToString(v));; } bool IfcOutletType::is(Type::Enum v) const { return v == Type::IfcOutletType || IfcFlowTerminalType::is(v); } Type::Enum IfcOutletType::type() const { return Type::IfcOutletType; } Type::Enum IfcOutletType::Class() { return Type::IfcOutletType; } @@ -10506,34 +10227,30 @@ IfcOutletType::IfcOutletType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcOwnerHistory IfcPersonAndOrganization* IfcOwnerHistory::OwningUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOwnerHistory::setOwningUser(IfcPersonAndOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOwnerHistory::OwningUser(IfcPersonAndOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcApplication* IfcOwnerHistory::OwningApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcOwnerHistory::setOwningApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOwnerHistory::hasState() const { return !entity->getArgument(2)->isNull(); } -IfcStateEnum::IfcStateEnum IfcOwnerHistory::State() const { return IfcStateEnum::FromString(*entity->getArgument(2)); } -void IfcOwnerHistory::setState(IfcStateEnum::IfcStateEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcStateEnum::ToString(v)); } +void IfcOwnerHistory::OwningApplication(IfcApplication* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcStateEnum::IfcStateEnum > IfcOwnerHistory::State() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return IfcStateEnum::FromString(*arg); } } +void IfcOwnerHistory::State(boost::optional< IfcStateEnum::IfcStateEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v,IfcStateEnum::ToString(*v));; } else { w->setArgument(2); } } IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() const { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } -void IfcOwnerHistory::setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcChangeActionEnum::ToString(v)); } -bool IfcOwnerHistory::hasLastModifiedDate() const { return !entity->getArgument(4)->isNull(); } -int IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } -void IfcOwnerHistory::setLastModifiedDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcOwnerHistory::hasLastModifyingUser() const { return !entity->getArgument(5)->isNull(); } -IfcPersonAndOrganization* IfcOwnerHistory::LastModifyingUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcOwnerHistory::setLastModifyingUser(IfcPersonAndOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcOwnerHistory::hasLastModifyingApplication() const { return !entity->getArgument(6)->isNull(); } -IfcApplication* IfcOwnerHistory::LastModifyingApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcOwnerHistory::setLastModifyingApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcOwnerHistory::ChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v,IfcChangeActionEnum::ToString(v));; } +boost::optional< int > IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } +void IfcOwnerHistory::LastModifiedDate(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcPersonAndOrganization* > IfcOwnerHistory::LastModifyingUser() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcOwnerHistory::LastModifyingUser(boost::optional< IfcPersonAndOrganization* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcApplication* > IfcOwnerHistory::LastModifyingApplication() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcOwnerHistory::LastModifyingApplication(boost::optional< IfcApplication* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } int IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } -void IfcOwnerHistory::setCreationDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcOwnerHistory::CreationDate(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } bool IfcOwnerHistory::is(Type::Enum v) const { return v == Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::type() const { return Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::Class() { return Type::IfcOwnerHistory; } IfcOwnerHistory::IfcOwnerHistory(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } e->setArgument(3,v4_ChangeAction,IfcChangeActionEnum::ToString(v4_ChangeAction)); if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } +IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, boost::optional< IfcPersonAndOrganization* > v6_LastModifyingUser, boost::optional< IfcApplication* > v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } e->setArgument(3,v4_ChangeAction,IfcChangeActionEnum::ToString(v4_ChangeAction)); if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } if (v6_LastModifyingUser) { e->setArgument(5,(*v6_LastModifyingUser)); } else { e->setArgument(5); } if (v7_LastModifyingApplication) { e->setArgument(6,(*v7_LastModifyingApplication)); } else { e->setArgument(6); } e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcParameterizedProfileDef IfcAxis2Placement2D* IfcParameterizedProfileDef::Position() const { return (IfcAxis2Placement2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcParameterizedProfileDef::setPosition(IfcAxis2Placement2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcParameterizedProfileDef::Position(IfcAxis2Placement2D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcParameterizedProfileDef::is(Type::Enum v) const { return v == Type::IfcParameterizedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcParameterizedProfileDef::type() const { return Type::IfcParameterizedProfileDef; } Type::Enum IfcParameterizedProfileDef::Class() { return Type::IfcParameterizedProfileDef; } @@ -10542,7 +10259,7 @@ IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcPr // Function implementations for IfcPath IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcPath::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPath::setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcPath::EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcPath::is(Type::Enum v) const { return v == Type::IfcPath || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcPath::type() const { return Type::IfcPath; } Type::Enum IfcPath::Class() { return Type::IfcPath; } @@ -10551,7 +10268,7 @@ IfcPath::IfcPath(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList) : I // Function implementations for IfcPerformanceHistory std::string IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(5); } -void IfcPerformanceHistory::setLifeCyclePhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPerformanceHistory::LifeCyclePhase(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcPerformanceHistory::is(Type::Enum v) const { return v == Type::IfcPerformanceHistory || IfcControl::is(v); } Type::Enum IfcPerformanceHistory::type() const { return Type::IfcPerformanceHistory; } Type::Enum IfcPerformanceHistory::Class() { return Type::IfcPerformanceHistory; } @@ -10560,27 +10277,24 @@ IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcPermeableCoveringProperties IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringProperties::OperationType() const { return IfcPermeableCoveringOperationEnum::FromString(*entity->getArgument(4)); } -void IfcPermeableCoveringProperties::setOperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcPermeableCoveringOperationEnum::ToString(v)); } +void IfcPermeableCoveringProperties::OperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcPermeableCoveringOperationEnum::ToString(v));; } IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcPermeableCoveringProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } -void IfcPermeableCoveringProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } -bool IfcPermeableCoveringProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -double IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcPermeableCoveringProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPermeableCoveringProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcPermeableCoveringProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPermeableCoveringProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcPermeableCoveringProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcPermeableCoveringProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcPermeableCoveringProperties::PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v));; } +boost::optional< double > IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcPermeableCoveringProperties::FrameDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcPermeableCoveringProperties::FrameThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcShapeAspect* > IfcPermeableCoveringProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPermeableCoveringProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcPermeableCoveringProperties::is(Type::Enum v) const { return v == Type::IfcPermeableCoveringProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcPermeableCoveringProperties::type() const { return Type::IfcPermeableCoveringProperties; } Type::Enum IfcPermeableCoveringProperties::Class() { return Type::IfcPermeableCoveringProperties; } IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } if (v9_ShapeAspectStyle) { e->setArgument(8,(*v9_ShapeAspectStyle)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermit std::string IfcPermit::PermitID() const { return *entity->getArgument(5); } -void IfcPermit::setPermitID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPermit::PermitID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcPermit::is(Type::Enum v) const { return v == Type::IfcPermit || IfcControl::is(v); } Type::Enum IfcPermit::type() const { return Type::IfcPermit; } Type::Enum IfcPermit::Class() { return Type::IfcPermit; } @@ -10588,30 +10302,22 @@ IfcPermit::IfcPermit(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { IfcPermit::IfcPermit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_PermitID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_PermitID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerson -bool IfcPerson::hasId() const { return !entity->getArgument(0)->isNull(); } -std::string IfcPerson::Id() const { return *entity->getArgument(0); } -void IfcPerson::setId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPerson::hasFamilyName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcPerson::FamilyName() const { return *entity->getArgument(1); } -void IfcPerson::setFamilyName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPerson::hasGivenName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcPerson::GivenName() const { return *entity->getArgument(2); } -void IfcPerson::setGivenName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPerson::hasMiddleNames() const { return !entity->getArgument(3)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } -void IfcPerson::setMiddleNames(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPerson::hasPrefixTitles() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } -void IfcPerson::setPrefixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPerson::hasSuffixTitles() const { return !entity->getArgument(5)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } -void IfcPerson::setSuffixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPerson::hasRoles() const { return !entity->getArgument(6)->isNull(); } -IfcTemplatedEntityList< IfcActorRole >::ptr IfcPerson::Roles() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcPerson::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcPerson::hasAddresses() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcAddress >::ptr IfcPerson::Addresses() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcPerson::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +boost::optional< std::string > IfcPerson::Id() const { return *entity->getArgument(0); } +void IfcPerson::Id(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcPerson::FamilyName() const { return *entity->getArgument(1); } +void IfcPerson::FamilyName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcPerson::GivenName() const { return *entity->getArgument(2); } +void IfcPerson::GivenName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPerson::MiddleNames() const { return *entity->getArgument(3); } +void IfcPerson::MiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } +void IfcPerson::PrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } +void IfcPerson::SuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > IfcPerson::Roles() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcPerson::Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,(*v)->generalize());; } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > IfcPerson::Addresses() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcPerson::Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return entity->getInverse(Type::IfcPersonAndOrganization, 0)->as(); } bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } @@ -10621,12 +10327,11 @@ IfcPerson::IfcPerson(boost::optional< std::string > v1_Id, boost::optional< std: // Function implementations for IfcPersonAndOrganization IfcPerson* IfcPersonAndOrganization::ThePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPersonAndOrganization::setThePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPersonAndOrganization::ThePerson(IfcPerson* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcOrganization* IfcPersonAndOrganization::TheOrganization() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcPersonAndOrganization::setTheOrganization(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPersonAndOrganization::hasRoles() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcActorRole >::ptr IfcPersonAndOrganization::Roles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPersonAndOrganization::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcPersonAndOrganization::TheOrganization(IfcOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > IfcPersonAndOrganization::Roles() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcPersonAndOrganization::Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,(*v)->generalize());; } else { w->setArgument(2); } } bool IfcPersonAndOrganization::is(Type::Enum v) const { return v == Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::type() const { return Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::Class() { return Type::IfcPersonAndOrganization; } @@ -10635,15 +10340,13 @@ IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcO // Function implementations for IfcPhysicalComplexQuantity IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcPhysicalComplexQuantity::HasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } std::string IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } -void IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPhysicalComplexQuantity::hasQuality() const { return !entity->getArgument(4)->isNull(); } -std::string IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } -void IfcPhysicalComplexQuantity::setQuality(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPhysicalComplexQuantity::hasUsage() const { return !entity->getArgument(5)->isNull(); } -std::string IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } -void IfcPhysicalComplexQuantity::setUsage(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPhysicalComplexQuantity::Discrimination(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } +void IfcPhysicalComplexQuantity::Quality(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } +void IfcPhysicalComplexQuantity::Usage(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcPhysicalComplexQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalComplexQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalComplexQuantity::type() const { return Type::IfcPhysicalComplexQuantity; } Type::Enum IfcPhysicalComplexQuantity::Class() { return Type::IfcPhysicalComplexQuantity; } @@ -10652,10 +10355,9 @@ IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boos // Function implementations for IfcPhysicalQuantity std::string IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } -void IfcPhysicalQuantity::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPhysicalQuantity::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } -void IfcPhysicalQuantity::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPhysicalQuantity::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } +void IfcPhysicalQuantity::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return entity->getInverse(Type::IfcPhysicalComplexQuantity, 2)->as(); } bool IfcPhysicalQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::type() const { return Type::IfcPhysicalQuantity; } @@ -10664,30 +10366,28 @@ IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntity* e) : IfcUtil::IfcBas IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalSimpleQuantity -bool IfcPhysicalSimpleQuantity::hasUnit() const { return !entity->getArgument(2)->isNull(); } -IfcNamedUnit* IfcPhysicalSimpleQuantity::Unit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPhysicalSimpleQuantity::setUnit(IfcNamedUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcNamedUnit* > IfcPhysicalSimpleQuantity::Unit() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPhysicalSimpleQuantity::Unit(boost::optional< IfcNamedUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcPhysicalSimpleQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalSimpleQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalSimpleQuantity::type() const { return Type::IfcPhysicalSimpleQuantity; } Type::Enum IfcPhysicalSimpleQuantity::Class() { return Type::IfcPhysicalSimpleQuantity; } IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPile IfcPileTypeEnum::IfcPileTypeEnum IfcPile::PredefinedType() const { return IfcPileTypeEnum::FromString(*entity->getArgument(8)); } -void IfcPile::setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcPileTypeEnum::ToString(v)); } -bool IfcPile::hasConstructionType() const { return !entity->getArgument(9)->isNull(); } -IfcPileConstructionEnum::IfcPileConstructionEnum IfcPile::ConstructionType() const { return IfcPileConstructionEnum::FromString(*entity->getArgument(9)); } -void IfcPile::setConstructionType(IfcPileConstructionEnum::IfcPileConstructionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPileConstructionEnum::ToString(v)); } +void IfcPile::PredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcPileTypeEnum::ToString(v));; } +boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > IfcPile::ConstructionType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcPileConstructionEnum::FromString(*arg); } } +void IfcPile::ConstructionType(boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcPileConstructionEnum::ToString(*v));; } else { w->setArgument(9); } } bool IfcPile::is(Type::Enum v) const { return v == Type::IfcPile || IfcBuildingElement::is(v); } Type::Enum IfcPile::type() const { return Type::IfcPile; } Type::Enum IfcPile::Class() { return Type::IfcPile; } IfcPile::IfcPile(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPile::IfcPile(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcPileTypeEnum::ToString(v9_PredefinedType)); if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPile::IfcPile(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcPileTypeEnum::ToString(v9_PredefinedType)); if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFittingType IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingType::PredefinedType() const { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPipeFittingType::setPredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPipeFittingTypeEnum::ToString(v)); } +void IfcPipeFittingType::PredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPipeFittingTypeEnum::ToString(v));; } bool IfcPipeFittingType::is(Type::Enum v) const { return v == Type::IfcPipeFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcPipeFittingType::type() const { return Type::IfcPipeFittingType; } Type::Enum IfcPipeFittingType::Class() { return Type::IfcPipeFittingType; } @@ -10696,7 +10396,7 @@ IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcPipeSegmentType IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentType::PredefinedType() const { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPipeSegmentType::setPredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPipeSegmentTypeEnum::ToString(v)); } +void IfcPipeSegmentType::PredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPipeSegmentTypeEnum::ToString(v));; } bool IfcPipeSegmentType::is(Type::Enum v) const { return v == Type::IfcPipeSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcPipeSegmentType::type() const { return Type::IfcPipeSegmentType; } Type::Enum IfcPipeSegmentType::Class() { return Type::IfcPipeSegmentType; } @@ -10705,20 +10405,20 @@ IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcPixelTexture int IfcPixelTexture::Width() const { return *entity->getArgument(4); } -void IfcPixelTexture::setWidth(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcPixelTexture::Width(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } int IfcPixelTexture::Height() const { return *entity->getArgument(5); } -void IfcPixelTexture::setHeight(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPixelTexture::Height(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } int IfcPixelTexture::ColourComponents() const { return *entity->getArgument(6); } -void IfcPixelTexture::setColourComponents(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcPixelTexture::ColourComponents(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcPixelTexture::is(Type::Enum v) const { return v == Type::IfcPixelTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcPixelTexture::type() const { return Type::IfcPixelTexture; } Type::Enum IfcPixelTexture::Class() { return Type::IfcPixelTexture; } IfcPixelTexture::IfcPixelTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_Height)); e->setArgument(6,(v7_ColourComponents)); entity = e; EntityBuffer::Add(this); } +IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_Height)); e->setArgument(6,(v7_ColourComponents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlacement IfcCartesianPoint* IfcPlacement::Location() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPlacement::setLocation(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPlacement::Location(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcPlacement::is(Type::Enum v) const { return v == Type::IfcPlacement || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlacement::type() const { return Type::IfcPlacement; } Type::Enum IfcPlacement::Class() { return Type::IfcPlacement; } @@ -10727,7 +10427,7 @@ IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricReprese // Function implementations for IfcPlanarBox IfcAxis2Placement* IfcPlanarBox::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPlanarBox::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPlanarBox::Placement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcPlanarBox::is(Type::Enum v) const { return v == Type::IfcPlanarBox || IfcPlanarExtent::is(v); } Type::Enum IfcPlanarBox::type() const { return Type::IfcPlanarBox; } Type::Enum IfcPlanarBox::Class() { return Type::IfcPlanarBox; } @@ -10736,9 +10436,9 @@ IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, IfcAxis2Placeme // Function implementations for IfcPlanarExtent double IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } -void IfcPlanarExtent::setSizeInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPlanarExtent::SizeInX(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } -void IfcPlanarExtent::setSizeInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPlanarExtent::SizeInY(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcPlanarExtent::is(Type::Enum v) const { return v == Type::IfcPlanarExtent || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlanarExtent::type() const { return Type::IfcPlanarExtent; } Type::Enum IfcPlanarExtent::Class() { return Type::IfcPlanarExtent; } @@ -10757,11 +10457,11 @@ bool IfcPlate::is(Type::Enum v) const { return v == Type::IfcPlate || IfcBuildin Type::Enum IfcPlate::type() const { return Type::IfcPlate; } Type::Enum IfcPlate::Class() { return Type::IfcPlate; } IfcPlate::IfcPlate(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlate::IfcPlate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPlate::IfcPlate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateType IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateType::PredefinedType() const { return IfcPlateTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPlateType::setPredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPlateTypeEnum::ToString(v)); } +void IfcPlateType::PredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPlateTypeEnum::ToString(v));; } bool IfcPlateType::is(Type::Enum v) const { return v == Type::IfcPlateType || IfcBuildingElementType::is(v); } Type::Enum IfcPlateType::type() const { return Type::IfcPlateType; } Type::Enum IfcPlateType::Class() { return Type::IfcPlateType; } @@ -10777,9 +10477,9 @@ IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcPointOnCurve IfcCurve* IfcPointOnCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPointOnCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPointOnCurve::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } -void IfcPointOnCurve::setPointParameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPointOnCurve::PointParameter(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcPointOnCurve::is(Type::Enum v) const { return v == Type::IfcPointOnCurve || IfcPoint::is(v); } Type::Enum IfcPointOnCurve::type() const { return Type::IfcPointOnCurve; } Type::Enum IfcPointOnCurve::Class() { return Type::IfcPointOnCurve; } @@ -10788,11 +10488,11 @@ IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, double v2_PointParamet // Function implementations for IfcPointOnSurface IfcSurface* IfcPointOnSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPointOnSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPointOnSurface::BasisSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } -void IfcPointOnSurface::setPointParameterU(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPointOnSurface::PointParameterU(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } -void IfcPointOnSurface::setPointParameterV(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPointOnSurface::PointParameterV(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcPointOnSurface::is(Type::Enum v) const { return v == Type::IfcPointOnSurface || IfcPoint::is(v); } Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } @@ -10801,7 +10501,7 @@ IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, double v2_Poin // Function implementations for IfcPolyLoop IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyLoop::Polygon() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPolyLoop::setPolygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcPolyLoop::Polygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcPolyLoop::is(Type::Enum v) const { return v == Type::IfcPolyLoop || IfcLoop::is(v); } Type::Enum IfcPolyLoop::type() const { return Type::IfcPolyLoop; } Type::Enum IfcPolyLoop::Class() { return Type::IfcPolyLoop; } @@ -10810,9 +10510,9 @@ IfcPolyLoop::IfcPolyLoop(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Pol // Function implementations for IfcPolygonalBoundedHalfSpace IfcAxis2Placement3D* IfcPolygonalBoundedHalfSpace::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPolygonalBoundedHalfSpace::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPolygonalBoundedHalfSpace::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcBoundedCurve* IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return (IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(IfcBoundedCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPolygonalBoundedHalfSpace::PolygonalBoundary(IfcBoundedCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcPolygonalBoundedHalfSpace::is(Type::Enum v) const { return v == Type::IfcPolygonalBoundedHalfSpace || IfcHalfSpaceSolid::is(v); } Type::Enum IfcPolygonalBoundedHalfSpace::type() const { return Type::IfcPolygonalBoundedHalfSpace; } Type::Enum IfcPolygonalBoundedHalfSpace::Class() { return Type::IfcPolygonalBoundedHalfSpace; } @@ -10821,7 +10521,7 @@ IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSu // Function implementations for IfcPolyline IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyline::Points() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPolyline::setPoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcPolyline::Points(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcPolyline::is(Type::Enum v) const { return v == Type::IfcPolyline || IfcBoundedCurve::is(v); } Type::Enum IfcPolyline::type() const { return Type::IfcPolyline; } Type::Enum IfcPolyline::Class() { return Type::IfcPolyline; } @@ -10836,30 +10536,23 @@ bool IfcPort::is(Type::Enum v) const { return v == Type::IfcPort || IfcProduct:: Type::Enum IfcPort::type() const { return Type::IfcPort; } Type::Enum IfcPort::Class() { return Type::IfcPort; } IfcPort::IfcPort(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPort::IfcPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcPort::IfcPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPostalAddress -bool IfcPostalAddress::hasInternalLocation() const { return !entity->getArgument(3)->isNull(); } -std::string IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } -void IfcPostalAddress::setInternalLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPostalAddress::hasAddressLines() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } -void IfcPostalAddress::setAddressLines(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPostalAddress::hasPostalBox() const { return !entity->getArgument(5)->isNull(); } -std::string IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } -void IfcPostalAddress::setPostalBox(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPostalAddress::hasTown() const { return !entity->getArgument(6)->isNull(); } -std::string IfcPostalAddress::Town() const { return *entity->getArgument(6); } -void IfcPostalAddress::setTown(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPostalAddress::hasRegion() const { return !entity->getArgument(7)->isNull(); } -std::string IfcPostalAddress::Region() const { return *entity->getArgument(7); } -void IfcPostalAddress::setRegion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPostalAddress::hasPostalCode() const { return !entity->getArgument(8)->isNull(); } -std::string IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } -void IfcPostalAddress::setPostalCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcPostalAddress::hasCountry() const { return !entity->getArgument(9)->isNull(); } -std::string IfcPostalAddress::Country() const { return *entity->getArgument(9); } -void IfcPostalAddress::setCountry(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< std::string > IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } +void IfcPostalAddress::InternalLocation(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } +void IfcPostalAddress::AddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } +void IfcPostalAddress::PostalBox(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcPostalAddress::Town() const { return *entity->getArgument(6); } +void IfcPostalAddress::Town(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcPostalAddress::Region() const { return *entity->getArgument(7); } +void IfcPostalAddress::Region(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } +void IfcPostalAddress::PostalCode(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcPostalAddress::Country() const { return *entity->getArgument(9); } +void IfcPostalAddress::Country(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcPostalAddress::is(Type::Enum v) const { return v == Type::IfcPostalAddress || IfcAddress::is(v); } Type::Enum IfcPostalAddress::type() const { return Type::IfcPostalAddress; } Type::Enum IfcPostalAddress::Class() { return Type::IfcPostalAddress; } @@ -10889,7 +10582,7 @@ IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(std::string v1_Name) // Function implementations for IfcPreDefinedItem std::string IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } -void IfcPreDefinedItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPreDefinedItem::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcPreDefinedItem::is(Type::Enum v) const { return v == Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::type() const { return Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::Class() { return Type::IfcPreDefinedItem; } @@ -10926,15 +10619,13 @@ IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefine // Function implementations for IfcPresentationLayerAssignment std::string IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } -void IfcPresentationLayerAssignment::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPresentationLayerAssignment::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } -void IfcPresentationLayerAssignment::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPresentationLayerAssignment::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } +void IfcPresentationLayerAssignment::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcEntityList::ptr IfcPresentationLayerAssignment::AssignedItems() const { return *entity->getArgument(2); } -void IfcPresentationLayerAssignment::setAssignedItems(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPresentationLayerAssignment::hasIdentifier() const { return !entity->getArgument(3)->isNull(); } -std::string IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } -void IfcPresentationLayerAssignment::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPresentationLayerAssignment::AssignedItems(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< std::string > IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } +void IfcPresentationLayerAssignment::Identifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::type() const { return Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::Class() { return Type::IfcPresentationLayerAssignment; } @@ -10943,13 +10634,13 @@ IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Na // Function implementations for IfcPresentationLayerWithStyle bool IfcPresentationLayerWithStyle::LayerOn() const { return *entity->getArgument(4); } -void IfcPresentationLayerWithStyle::setLayerOn(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcPresentationLayerWithStyle::LayerOn(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcPresentationLayerWithStyle::LayerFrozen() const { return *entity->getArgument(5); } -void IfcPresentationLayerWithStyle::setLayerFrozen(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPresentationLayerWithStyle::LayerFrozen(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcPresentationLayerWithStyle::LayerBlocked() const { return *entity->getArgument(6); } -void IfcPresentationLayerWithStyle::setLayerBlocked(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcPresentationLayerWithStyle::LayerBlocked(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcEntityList::ptr IfcPresentationLayerWithStyle::LayerStyles() const { return *entity->getArgument(7); } -void IfcPresentationLayerWithStyle::setLayerStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcPresentationLayerWithStyle::LayerStyles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } bool IfcPresentationLayerWithStyle::is(Type::Enum v) const { return v == Type::IfcPresentationLayerWithStyle || IfcPresentationLayerAssignment::is(v); } Type::Enum IfcPresentationLayerWithStyle::type() const { return Type::IfcPresentationLayerWithStyle; } Type::Enum IfcPresentationLayerWithStyle::Class() { return Type::IfcPresentationLayerWithStyle; } @@ -10957,9 +10648,8 @@ IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntity* IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyle -bool IfcPresentationStyle::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcPresentationStyle::Name() const { return *entity->getArgument(0); } -void IfcPresentationStyle::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcPresentationStyle::Name() const { return *entity->getArgument(0); } +void IfcPresentationStyle::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcPresentationStyle::is(Type::Enum v) const { return v == Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } @@ -10968,7 +10658,7 @@ IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Nam // Function implementations for IfcPresentationStyleAssignment IfcEntityList::ptr IfcPresentationStyleAssignment::Styles() const { return *entity->getArgument(0); } -void IfcPresentationStyleAssignment::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPresentationStyleAssignment::Styles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcPresentationStyleAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationStyleAssignment; } Type::Enum IfcPresentationStyleAssignment::type() const { return Type::IfcPresentationStyleAssignment; } Type::Enum IfcPresentationStyleAssignment::Class() { return Type::IfcPresentationStyleAssignment; } @@ -10977,12 +10667,11 @@ IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityList::pt // Function implementations for IfcProcedure std::string IfcProcedure::ProcedureID() const { return *entity->getArgument(5); } -void IfcProcedure::setProcedureID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcProcedure::ProcedureID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedure::ProcedureType() const { return IfcProcedureTypeEnum::FromString(*entity->getArgument(6)); } -void IfcProcedure::setProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProcedureTypeEnum::ToString(v)); } -bool IfcProcedure::hasUserDefinedProcedureType() const { return !entity->getArgument(7)->isNull(); } -std::string IfcProcedure::UserDefinedProcedureType() const { return *entity->getArgument(7); } -void IfcProcedure::setUserDefinedProcedureType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcProcedure::ProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcProcedureTypeEnum::ToString(v));; } +boost::optional< std::string > IfcProcedure::UserDefinedProcedureType() const { return *entity->getArgument(7); } +void IfcProcedure::UserDefinedProcedureType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcProcedure::is(Type::Enum v) const { return v == Type::IfcProcedure || IfcProcess::is(v); } Type::Enum IfcProcedure::type() const { return Type::IfcProcedure; } Type::Enum IfcProcedure::Class() { return Type::IfcProcedure; } @@ -11000,18 +10689,16 @@ IfcProcess::IfcProcess(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) IfcProcess::IfcProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProduct -bool IfcProduct::hasObjectPlacement() const { return !entity->getArgument(5)->isNull(); } -IfcObjectPlacement* IfcProduct::ObjectPlacement() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcProduct::setObjectPlacement(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProduct::hasRepresentation() const { return !entity->getArgument(6)->isNull(); } -IfcProductRepresentation* IfcProduct::Representation() const { return (IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcProduct::setRepresentation(IfcProductRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< IfcObjectPlacement* > IfcProduct::ObjectPlacement() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcProduct::ObjectPlacement(boost::optional< IfcObjectPlacement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcProductRepresentation* > IfcProduct::Representation() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcProduct::Representation(boost::optional< IfcProductRepresentation* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct, 6)->as(); } bool IfcProduct::is(Type::Enum v) const { return v == Type::IfcProduct || IfcObject::is(v); } Type::Enum IfcProduct::type() const { return Type::IfcProduct; } Type::Enum IfcProduct::Class() { return Type::IfcProduct; } IfcProduct::IfcProduct(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductDefinitionShape IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return entity->getInverse(Type::IfcProduct, 6)->as(); } @@ -11023,14 +10710,12 @@ IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntity* e) : Ifc IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductRepresentation -bool IfcProductRepresentation::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcProductRepresentation::Name() const { return *entity->getArgument(0); } -void IfcProductRepresentation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProductRepresentation::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcProductRepresentation::Description() const { return *entity->getArgument(1); } -void IfcProductRepresentation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcProductRepresentation::Name() const { return *entity->getArgument(0); } +void IfcProductRepresentation::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcProductRepresentation::Description() const { return *entity->getArgument(1); } +void IfcProductRepresentation::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcTemplatedEntityList< IfcRepresentation >::ptr IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcProductRepresentation::Representations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcProductRepresentation::is(Type::Enum v) const { return v == Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::type() const { return Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::Class() { return Type::IfcProductRepresentation; } @@ -11038,18 +10723,14 @@ IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntity* e) : IfcUt IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductsOfCombustionProperties -bool IfcProductsOfCombustionProperties::hasSpecificHeatCapacity() const { return !entity->getArgument(1)->isNull(); } -double IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } -void IfcProductsOfCombustionProperties::setSpecificHeatCapacity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcProductsOfCombustionProperties::hasN20Content() const { return !entity->getArgument(2)->isNull(); } -double IfcProductsOfCombustionProperties::N20Content() const { return *entity->getArgument(2); } -void IfcProductsOfCombustionProperties::setN20Content(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcProductsOfCombustionProperties::hasCOContent() const { return !entity->getArgument(3)->isNull(); } -double IfcProductsOfCombustionProperties::COContent() const { return *entity->getArgument(3); } -void IfcProductsOfCombustionProperties::setCOContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcProductsOfCombustionProperties::hasCO2Content() const { return !entity->getArgument(4)->isNull(); } -double IfcProductsOfCombustionProperties::CO2Content() const { return *entity->getArgument(4); } -void IfcProductsOfCombustionProperties::setCO2Content(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } +void IfcProductsOfCombustionProperties::SpecificHeatCapacity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcProductsOfCombustionProperties::N20Content() const { return *entity->getArgument(2); } +void IfcProductsOfCombustionProperties::N20Content(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcProductsOfCombustionProperties::COContent() const { return *entity->getArgument(3); } +void IfcProductsOfCombustionProperties::COContent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcProductsOfCombustionProperties::CO2Content() const { return *entity->getArgument(4); } +void IfcProductsOfCombustionProperties::CO2Content(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcProductsOfCombustionProperties::is(Type::Enum v) const { return v == Type::IfcProductsOfCombustionProperties || IfcMaterialProperties::is(v); } Type::Enum IfcProductsOfCombustionProperties::type() const { return Type::IfcProductsOfCombustionProperties; } Type::Enum IfcProductsOfCombustionProperties::Class() { return Type::IfcProductsOfCombustionProperties; } @@ -11058,10 +10739,9 @@ IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcMaterial // Function implementations for IfcProfileDef IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileDef::ProfileType() const { return IfcProfileTypeEnum::FromString(*entity->getArgument(0)); } -void IfcProfileDef::setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcProfileTypeEnum::ToString(v)); } -bool IfcProfileDef::hasProfileName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } -void IfcProfileDef::setProfileName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcProfileDef::ProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcProfileTypeEnum::ToString(v));; } +boost::optional< std::string > IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } +void IfcProfileDef::ProfileName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcProfileDef::is(Type::Enum v) const { return v == Type::IfcProfileDef; } Type::Enum IfcProfileDef::type() const { return Type::IfcProfileDef; } Type::Enum IfcProfileDef::Class() { return Type::IfcProfileDef; } @@ -11069,29 +10749,25 @@ IfcProfileDef::IfcProfileDef(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileProperties -bool IfcProfileProperties::hasProfileName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcProfileProperties::ProfileName() const { return *entity->getArgument(0); } -void IfcProfileProperties::setProfileName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProfileProperties::hasProfileDefinition() const { return !entity->getArgument(1)->isNull(); } -IfcProfileDef* IfcProfileProperties::ProfileDefinition() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcProfileProperties::setProfileDefinition(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcProfileProperties::ProfileName() const { return *entity->getArgument(0); } +void IfcProfileProperties::ProfileName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< IfcProfileDef* > IfcProfileProperties::ProfileDefinition() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcProfileProperties::ProfileDefinition(boost::optional< IfcProfileDef* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcProfileProperties::is(Type::Enum v) const { return v == Type::IfcProfileProperties; } Type::Enum IfcProfileProperties::type() const { return Type::IfcProfileProperties; } Type::Enum IfcProfileProperties::Class() { return Type::IfcProfileProperties; } IfcProfileProperties::IfcProfileProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } +IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } if (v2_ProfileDefinition) { e->setArgument(1,(*v2_ProfileDefinition)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProject -bool IfcProject::hasLongName() const { return !entity->getArgument(5)->isNull(); } -std::string IfcProject::LongName() const { return *entity->getArgument(5); } -void IfcProject::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProject::hasPhase() const { return !entity->getArgument(6)->isNull(); } -std::string IfcProject::Phase() const { return *entity->getArgument(6); } -void IfcProject::setPhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< std::string > IfcProject::LongName() const { return *entity->getArgument(5); } +void IfcProject::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcProject::Phase() const { return *entity->getArgument(6); } +void IfcProject::Phase(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcTemplatedEntityList< IfcRepresentationContext >::ptr IfcProject::RepresentationContexts() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcProject::setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +void IfcProject::RepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } IfcUnitAssignment* IfcProject::UnitsInContext() const { return (IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcProject::setUnitsInContext(IfcUnitAssignment* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcProject::UnitsInContext(IfcUnitAssignment* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcProject::is(Type::Enum v) const { return v == Type::IfcProject || IfcObject::is(v); } Type::Enum IfcProject::type() const { return Type::IfcProject; } Type::Enum IfcProject::Class() { return Type::IfcProject; } @@ -11100,12 +10776,11 @@ IfcProject::IfcProject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory // Function implementations for IfcProjectOrder std::string IfcProjectOrder::ID() const { return *entity->getArgument(5); } -void IfcProjectOrder::setID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcProjectOrder::ID(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrder::PredefinedType() const { return IfcProjectOrderTypeEnum::FromString(*entity->getArgument(6)); } -void IfcProjectOrder::setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProjectOrderTypeEnum::ToString(v)); } -bool IfcProjectOrder::hasStatus() const { return !entity->getArgument(7)->isNull(); } -std::string IfcProjectOrder::Status() const { return *entity->getArgument(7); } -void IfcProjectOrder::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcProjectOrder::PredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcProjectOrderTypeEnum::ToString(v));; } +boost::optional< std::string > IfcProjectOrder::Status() const { return *entity->getArgument(7); } +void IfcProjectOrder::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcProjectOrder::is(Type::Enum v) const { return v == Type::IfcProjectOrder || IfcControl::is(v); } Type::Enum IfcProjectOrder::type() const { return Type::IfcProjectOrder; } Type::Enum IfcProjectOrder::Class() { return Type::IfcProjectOrder; } @@ -11114,9 +10789,9 @@ IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, IfcOwnerHistory* v2_Ow // Function implementations for IfcProjectOrderRecord IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr IfcProjectOrderRecord::Records() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcProjectOrderRecord::setRecords(IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcProjectOrderRecord::Records(IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum IfcProjectOrderRecord::PredefinedType() const { return IfcProjectOrderRecordTypeEnum::FromString(*entity->getArgument(6)); } -void IfcProjectOrderRecord::setPredefinedType(IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProjectOrderRecordTypeEnum::ToString(v)); } +void IfcProjectOrderRecord::PredefinedType(IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcProjectOrderRecordTypeEnum::ToString(v));; } bool IfcProjectOrderRecord::is(Type::Enum v) const { return v == Type::IfcProjectOrderRecord || IfcControl::is(v); } Type::Enum IfcProjectOrderRecord::type() const { return Type::IfcProjectOrderRecord; } Type::Enum IfcProjectOrderRecord::Class() { return Type::IfcProjectOrderRecord; } @@ -11128,21 +10803,20 @@ bool IfcProjectionCurve::is(Type::Enum v) const { return v == Type::IfcProjectio Type::Enum IfcProjectionCurve::type() const { return Type::IfcProjectionCurve; } Type::Enum IfcProjectionCurve::Class() { return Type::IfcProjectionCurve; } IfcProjectionCurve::IfcProjectionCurve(IfcAbstractEntity* e) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionCurve::IfcProjectionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcProjectionCurve::IfcProjectionCurve(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement bool IfcProjectionElement::is(Type::Enum v) const { return v == Type::IfcProjectionElement || IfcFeatureElementAddition::is(v); } Type::Enum IfcProjectionElement::type() const { return Type::IfcProjectionElement; } Type::Enum IfcProjectionElement::Class() { return Type::IfcProjectionElement; } IfcProjectionElement::IfcProjectionElement(IfcAbstractEntity* e) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProperty std::string IfcProperty::Name() const { return *entity->getArgument(0); } -void IfcProperty::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProperty::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcProperty::Description() const { return *entity->getArgument(1); } -void IfcProperty::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcProperty::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcProperty::Description() const { return *entity->getArgument(1); } +void IfcProperty::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 0)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 1)->as(); } IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return entity->getInverse(Type::IfcComplexProperty, 3)->as(); } @@ -11153,32 +10827,27 @@ IfcProperty::IfcProperty(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if ( IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyBoundedValue -bool IfcPropertyBoundedValue::hasUpperBoundValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue* IfcPropertyBoundedValue::UpperBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyBoundedValue::hasLowerBoundValue() const { return !entity->getArgument(3)->isNull(); } -IfcValue* IfcPropertyBoundedValue::LowerBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyBoundedValue::hasUnit() const { return !entity->getArgument(4)->isNull(); } -IfcUnit* IfcPropertyBoundedValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcPropertyBoundedValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcValue* > IfcPropertyBoundedValue::UpperBoundValue() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::UpperBoundValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcValue* > IfcPropertyBoundedValue::LowerBoundValue() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::LowerBoundValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcUnit* > IfcPropertyBoundedValue::Unit() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcPropertyBoundedValue::is(Type::Enum v) const { return v == Type::IfcPropertyBoundedValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyBoundedValue::type() const { return Type::IfcPropertyBoundedValue; } Type::Enum IfcPropertyBoundedValue::Class() { return Type::IfcPropertyBoundedValue; } IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UpperBoundValue)); e->setArgument(3,(v4_LowerBoundValue)); e->setArgument(4,(v5_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_UpperBoundValue, boost::optional< IfcValue* > v4_LowerBoundValue, boost::optional< IfcUnit* > v5_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyConstraintRelationship IfcConstraint* IfcPropertyConstraintRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPropertyConstraintRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPropertyConstraintRelationship::RelatingConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertyConstraintRelationship::RelatedProperties() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcPropertyConstraintRelationship::setRelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcPropertyConstraintRelationship::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcPropertyConstraintRelationship::Name() const { return *entity->getArgument(2); } -void IfcPropertyConstraintRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyConstraintRelationship::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcPropertyConstraintRelationship::Description() const { return *entity->getArgument(3); } -void IfcPropertyConstraintRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPropertyConstraintRelationship::RelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } +boost::optional< std::string > IfcPropertyConstraintRelationship::Name() const { return *entity->getArgument(2); } +void IfcPropertyConstraintRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcPropertyConstraintRelationship::Description() const { return *entity->getArgument(3); } +void IfcPropertyConstraintRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertyConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyConstraintRelationship; } Type::Enum IfcPropertyConstraintRelationship::type() const { return Type::IfcPropertyConstraintRelationship; } Type::Enum IfcPropertyConstraintRelationship::Class() { return Type::IfcPropertyConstraintRelationship; } @@ -11195,18 +10864,15 @@ IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcPropertyDependencyRelationship IfcProperty* IfcPropertyDependencyRelationship::DependingProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPropertyDependencyRelationship::setDependingProperty(IfcProperty* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPropertyDependencyRelationship::DependingProperty(IfcProperty* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcProperty* IfcPropertyDependencyRelationship::DependantProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcPropertyDependencyRelationship::setDependantProperty(IfcProperty* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPropertyDependencyRelationship::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcPropertyDependencyRelationship::Name() const { return *entity->getArgument(2); } -void IfcPropertyDependencyRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyDependencyRelationship::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcPropertyDependencyRelationship::Description() const { return *entity->getArgument(3); } -void IfcPropertyDependencyRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyDependencyRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } -std::string IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } -void IfcPropertyDependencyRelationship::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcPropertyDependencyRelationship::DependantProperty(IfcProperty* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcPropertyDependencyRelationship::Name() const { return *entity->getArgument(2); } +void IfcPropertyDependencyRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcPropertyDependencyRelationship::Description() const { return *entity->getArgument(3); } +void IfcPropertyDependencyRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } +void IfcPropertyDependencyRelationship::Expression(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcPropertyDependencyRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } @@ -11215,48 +10881,44 @@ IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcProperty // Function implementations for IfcPropertyEnumeratedValue IfcEntityList::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { return *entity->getArgument(2); } -void IfcPropertyEnumeratedValue::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyEnumeratedValue::hasEnumerationReference() const { return !entity->getArgument(3)->isNull(); } -IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() const { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyEnumeratedValue::setEnumerationReference(IfcPropertyEnumeration* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPropertyEnumeratedValue::EnumerationValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< IfcPropertyEnumeration* > IfcPropertyEnumeratedValue::EnumerationReference() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyEnumeratedValue::EnumerationReference(boost::optional< IfcPropertyEnumeration* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertyEnumeratedValue::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeratedValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyEnumeratedValue::type() const { return Type::IfcPropertyEnumeratedValue; } Type::Enum IfcPropertyEnumeratedValue::Class() { return Type::IfcPropertyEnumeratedValue; } IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_EnumerationValues)); e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_EnumerationValues, boost::optional< IfcPropertyEnumeration* > v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_EnumerationValues)); if (v4_EnumerationReference) { e->setArgument(3,(*v4_EnumerationReference)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeration std::string IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } -void IfcPropertyEnumeration::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPropertyEnumeration::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcPropertyEnumeration::EnumerationValues() const { return *entity->getArgument(1); } -void IfcPropertyEnumeration::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPropertyEnumeration::hasUnit() const { return !entity->getArgument(2)->isNull(); } -IfcUnit* IfcPropertyEnumeration::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertyEnumeration::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPropertyEnumeration::EnumerationValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcUnit* > IfcPropertyEnumeration::Unit() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyEnumeration::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcPropertyEnumeration::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeration; } Type::Enum IfcPropertyEnumeration::type() const { return Type::IfcPropertyEnumeration; } Type::Enum IfcPropertyEnumeration::Class() { return Type::IfcPropertyEnumeration; } IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit* > v3_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyListValue IfcEntityList::ptr IfcPropertyListValue::ListValues() const { return *entity->getArgument(2); } -void IfcPropertyListValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyListValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit* IfcPropertyListValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyListValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPropertyListValue::ListValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< IfcUnit* > IfcPropertyListValue::Unit() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyListValue::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertyListValue::is(Type::Enum v) const { return v == Type::IfcPropertyListValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyListValue::type() const { return Type::IfcPropertyListValue; } Type::Enum IfcPropertyListValue::Class() { return Type::IfcPropertyListValue; } IfcPropertyListValue::IfcPropertyListValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_ListValues, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_ListValues)); e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_ListValues, boost::optional< IfcUnit* > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_ListValues)); if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyReferenceValue -bool IfcPropertyReferenceValue::hasUsageName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } -void IfcPropertyReferenceValue::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } +void IfcPropertyReferenceValue::UsageName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcObjectReferenceSelect* IfcPropertyReferenceValue::PropertyReference() const { return (IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPropertyReferenceValue::PropertyReference(IfcObjectReferenceSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcPropertyReferenceValue::is(Type::Enum v) const { return v == Type::IfcPropertyReferenceValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyReferenceValue::type() const { return Type::IfcPropertyReferenceValue; } Type::Enum IfcPropertyReferenceValue::Class() { return Type::IfcPropertyReferenceValue; } @@ -11265,7 +10927,7 @@ IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost: // Function implementations for IfcPropertySet IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertySet::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcPropertySet::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcPropertySet::HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } bool IfcPropertySet::is(Type::Enum v) const { return v == Type::IfcPropertySet || IfcPropertySetDefinition::is(v); } Type::Enum IfcPropertySet::type() const { return Type::IfcPropertySet; } Type::Enum IfcPropertySet::Class() { return Type::IfcPropertySet; } @@ -11282,41 +10944,36 @@ IfcPropertySetDefinition::IfcPropertySetDefinition(IfcAbstractEntity* e) : IfcPr IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySingleValue -bool IfcPropertySingleValue::hasNominalValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue* IfcPropertySingleValue::NominalValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertySingleValue::setNominalValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertySingleValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit* IfcPropertySingleValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertySingleValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcValue* > IfcPropertySingleValue::NominalValue() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertySingleValue::NominalValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcUnit* > IfcPropertySingleValue::Unit() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertySingleValue::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertySingleValue::is(Type::Enum v) const { return v == Type::IfcPropertySingleValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertySingleValue::type() const { return Type::IfcPropertySingleValue; } Type::Enum IfcPropertySingleValue::Class() { return Type::IfcPropertySingleValue; } IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_NominalValue)); e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_NominalValue, boost::optional< IfcUnit* > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTableValue IfcEntityList::ptr IfcPropertyTableValue::DefiningValues() const { return *entity->getArgument(2); } -void IfcPropertyTableValue::setDefiningValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPropertyTableValue::DefiningValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcEntityList::ptr IfcPropertyTableValue::DefinedValues() const { return *entity->getArgument(3); } -void IfcPropertyTableValue::setDefinedValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyTableValue::hasExpression() const { return !entity->getArgument(4)->isNull(); } -std::string IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } -void IfcPropertyTableValue::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPropertyTableValue::hasDefiningUnit() const { return !entity->getArgument(5)->isNull(); } -IfcUnit* IfcPropertyTableValue::DefiningUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcPropertyTableValue::setDefiningUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPropertyTableValue::hasDefinedUnit() const { return !entity->getArgument(6)->isNull(); } -IfcUnit* IfcPropertyTableValue::DefinedUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcPropertyTableValue::setDefinedUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcPropertyTableValue::DefinedValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } +void IfcPropertyTableValue::Expression(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcUnit* > IfcPropertyTableValue::DefiningUnit() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyTableValue::DefiningUnit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcUnit* > IfcPropertyTableValue::DefinedUnit() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyTableValue::DefinedUnit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcPropertyTableValue::is(Type::Enum v) const { return v == Type::IfcPropertyTableValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyTableValue::type() const { return Type::IfcPropertyTableValue; } Type::Enum IfcPropertyTableValue::Class() { return Type::IfcPropertyTableValue; } IfcPropertyTableValue::IfcPropertyTableValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DefiningValues)); e->setArgument(3,(v4_DefinedValues)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } e->setArgument(5,(v6_DefiningUnit)); e->setArgument(6,(v7_DefinedUnit)); entity = e; EntityBuffer::Add(this); } +IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, boost::optional< IfcUnit* > v6_DefiningUnit, boost::optional< IfcUnit* > v7_DefinedUnit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DefiningValues)); e->setArgument(3,(v4_DefinedValues)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceType IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceType::PredefinedType() const { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcProtectiveDeviceType::setPredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcProtectiveDeviceTypeEnum::ToString(v)); } +void IfcProtectiveDeviceType::PredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcProtectiveDeviceTypeEnum::ToString(v));; } bool IfcProtectiveDeviceType::is(Type::Enum v) const { return v == Type::IfcProtectiveDeviceType || IfcFlowControllerType::is(v); } Type::Enum IfcProtectiveDeviceType::type() const { return Type::IfcProtectiveDeviceType; } Type::Enum IfcProtectiveDeviceType::Class() { return Type::IfcProtectiveDeviceType; } @@ -11325,19 +10982,18 @@ IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, IfcOwn // Function implementations for IfcProxy IfcObjectTypeEnum::IfcObjectTypeEnum IfcProxy::ProxyType() const { return IfcObjectTypeEnum::FromString(*entity->getArgument(7)); } -void IfcProxy::setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcObjectTypeEnum::ToString(v)); } -bool IfcProxy::hasTag() const { return !entity->getArgument(8)->isNull(); } -std::string IfcProxy::Tag() const { return *entity->getArgument(8); } -void IfcProxy::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcProxy::ProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcObjectTypeEnum::ToString(v));; } +boost::optional< std::string > IfcProxy::Tag() const { return *entity->getArgument(8); } +void IfcProxy::Tag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcProxy::is(Type::Enum v) const { return v == Type::IfcProxy || IfcProduct::is(v); } Type::Enum IfcProxy::type() const { return Type::IfcProxy; } Type::Enum IfcProxy::Class() { return Type::IfcProxy; } IfcProxy::IfcProxy(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProxy::IfcProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProxy::IfcProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPumpType IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpType::PredefinedType() const { return IfcPumpTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPumpType::setPredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPumpTypeEnum::ToString(v)); } +void IfcPumpType::PredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPumpTypeEnum::ToString(v));; } bool IfcPumpType::is(Type::Enum v) const { return v == Type::IfcPumpType || IfcFlowMovingDeviceType::is(v); } Type::Enum IfcPumpType::type() const { return Type::IfcPumpType; } Type::Enum IfcPumpType::Class() { return Type::IfcPumpType; } @@ -11346,57 +11002,57 @@ IfcPumpType::IfcPumpType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcQuantityArea double IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } -void IfcQuantityArea::setAreaValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcQuantityArea::AreaValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcQuantityArea::is(Type::Enum v) const { return v == Type::IfcQuantityArea || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityArea::type() const { return Type::IfcQuantityArea; } Type::Enum IfcQuantityArea::Class() { return Type::IfcQuantityArea; } IfcQuantityArea::IfcQuantityArea(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_AreaValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_AreaValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityCount double IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } -void IfcQuantityCount::setCountValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcQuantityCount::CountValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcQuantityCount::is(Type::Enum v) const { return v == Type::IfcQuantityCount || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityCount::type() const { return Type::IfcQuantityCount; } Type::Enum IfcQuantityCount::Class() { return Type::IfcQuantityCount; } IfcQuantityCount::IfcQuantityCount(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_CountValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_CountValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityLength double IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } -void IfcQuantityLength::setLengthValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcQuantityLength::LengthValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcQuantityLength::is(Type::Enum v) const { return v == Type::IfcQuantityLength || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityLength::type() const { return Type::IfcQuantityLength; } Type::Enum IfcQuantityLength::Class() { return Type::IfcQuantityLength; } IfcQuantityLength::IfcQuantityLength(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_LengthValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_LengthValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityTime double IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } -void IfcQuantityTime::setTimeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcQuantityTime::TimeValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcQuantityTime::is(Type::Enum v) const { return v == Type::IfcQuantityTime || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityTime::type() const { return Type::IfcQuantityTime; } Type::Enum IfcQuantityTime::Class() { return Type::IfcQuantityTime; } IfcQuantityTime::IfcQuantityTime(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_TimeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_TimeValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityVolume double IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } -void IfcQuantityVolume::setVolumeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcQuantityVolume::VolumeValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcQuantityVolume::is(Type::Enum v) const { return v == Type::IfcQuantityVolume || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityVolume::type() const { return Type::IfcQuantityVolume; } Type::Enum IfcQuantityVolume::Class() { return Type::IfcQuantityVolume; } IfcQuantityVolume::IfcQuantityVolume(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_VolumeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_VolumeValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityWeight double IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } -void IfcQuantityWeight::setWeightValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcQuantityWeight::WeightValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcQuantityWeight::is(Type::Enum v) const { return v == Type::IfcQuantityWeight || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityWeight::type() const { return Type::IfcQuantityWeight; } Type::Enum IfcQuantityWeight::Class() { return Type::IfcQuantityWeight; } IfcQuantityWeight::IfcQuantityWeight(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_WeightValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_WeightValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRadiusDimension bool IfcRadiusDimension::is(Type::Enum v) const { return v == Type::IfcRadiusDimension || IfcDimensionCurveDirectedCallout::is(v); } @@ -11406,18 +11062,17 @@ IfcRadiusDimension::IfcRadiusDimension(IfcAbstractEntity* e) : IfcDimensionCurve IfcRadiusDimension::IfcRadiusDimension(IfcEntityList::ptr v1_Contents) : IfcDimensionCurveDirectedCallout((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailing -bool IfcRailing::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailing::PredefinedType() const { return IfcRailingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRailing::setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRailingTypeEnum::ToString(v)); } +boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > IfcRailing::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcRailingTypeEnum::FromString(*arg); } } +void IfcRailing::PredefinedType(boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcRailingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcRailing::is(Type::Enum v) const { return v == Type::IfcRailing || IfcBuildingElement::is(v); } Type::Enum IfcRailing::type() const { return Type::IfcRailing; } Type::Enum IfcRailing::Class() { return Type::IfcRailing; } IfcRailing::IfcRailing(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailing::IfcRailing(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRailing::IfcRailing(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailingType IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingType::PredefinedType() const { return IfcRailingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRailingType::setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcRailingTypeEnum::ToString(v)); } +void IfcRailingType::PredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcRailingTypeEnum::ToString(v));; } bool IfcRailingType::is(Type::Enum v) const { return v == Type::IfcRailingType || IfcBuildingElementType::is(v); } Type::Enum IfcRailingType::type() const { return Type::IfcRailingType; } Type::Enum IfcRailingType::Class() { return Type::IfcRailingType; } @@ -11426,23 +11081,23 @@ IfcRailingType::IfcRailingType(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcRamp IfcRampTypeEnum::IfcRampTypeEnum IfcRamp::ShapeType() const { return IfcRampTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRamp::setShapeType(IfcRampTypeEnum::IfcRampTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRampTypeEnum::ToString(v)); } +void IfcRamp::ShapeType(IfcRampTypeEnum::IfcRampTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcRampTypeEnum::ToString(v));; } bool IfcRamp::is(Type::Enum v) const { return v == Type::IfcRamp || IfcBuildingElement::is(v); } Type::Enum IfcRamp::type() const { return Type::IfcRamp; } Type::Enum IfcRamp::Class() { return Type::IfcRamp; } IfcRamp::IfcRamp(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRamp::IfcRamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRampTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } +IfcRamp::IfcRamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRampTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlight bool IfcRampFlight::is(Type::Enum v) const { return v == Type::IfcRampFlight || IfcBuildingElement::is(v); } Type::Enum IfcRampFlight::type() const { return Type::IfcRampFlight; } Type::Enum IfcRampFlight::Class() { return Type::IfcRampFlight; } IfcRampFlight::IfcRampFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlightType IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightType::PredefinedType() const { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRampFlightType::setPredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcRampFlightTypeEnum::ToString(v)); } +void IfcRampFlightType::PredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcRampFlightTypeEnum::ToString(v));; } bool IfcRampFlightType::is(Type::Enum v) const { return v == Type::IfcRampFlightType || IfcBuildingElementType::is(v); } Type::Enum IfcRampFlightType::type() const { return Type::IfcRampFlightType; } Type::Enum IfcRampFlightType::Class() { return Type::IfcRampFlightType; } @@ -11451,7 +11106,7 @@ IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcRationalBezierCurve std::vector< double > /*[2:?]*/ IfcRationalBezierCurve::WeightsData() const { return *entity->getArgument(5); } -void IfcRationalBezierCurve::setWeightsData(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRationalBezierCurve::WeightsData(std::vector< double > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRationalBezierCurve::is(Type::Enum v) const { return v == Type::IfcRationalBezierCurve || IfcBezierCurve::is(v); } Type::Enum IfcRationalBezierCurve::type() const { return Type::IfcRationalBezierCurve; } Type::Enum IfcRationalBezierCurve::Class() { return Type::IfcRationalBezierCurve; } @@ -11460,13 +11115,11 @@ IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, IfcTemplatedEntity // Function implementations for IfcRectangleHollowProfileDef double IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcRectangleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !entity->getArgument(6)->isNull(); } -double IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } -void IfcRectangleHollowProfileDef::setInnerFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } -void IfcRectangleHollowProfileDef::setOuterFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRectangleHollowProfileDef::WallThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< double > IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } +void IfcRectangleHollowProfileDef::InnerFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } +void IfcRectangleHollowProfileDef::OuterFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRectangleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleHollowProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRectangleHollowProfileDef::type() const { return Type::IfcRectangleHollowProfileDef; } Type::Enum IfcRectangleHollowProfileDef::Class() { return Type::IfcRectangleHollowProfileDef; } @@ -11475,9 +11128,9 @@ IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::I // Function implementations for IfcRectangleProfileDef double IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } -void IfcRectangleProfileDef::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRectangleProfileDef::XDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } -void IfcRectangleProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRectangleProfileDef::YDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcRectangleProfileDef::type() const { return Type::IfcRectangleProfileDef; } Type::Enum IfcRectangleProfileDef::Class() { return Type::IfcRectangleProfileDef; } @@ -11486,11 +11139,11 @@ IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTyp // Function implementations for IfcRectangularPyramid double IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } -void IfcRectangularPyramid::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRectangularPyramid::XLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } -void IfcRectangularPyramid::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRectangularPyramid::YLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } -void IfcRectangularPyramid::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRectangularPyramid::Height(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcRectangularPyramid::is(Type::Enum v) const { return v == Type::IfcRectangularPyramid || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRectangularPyramid::type() const { return Type::IfcRectangularPyramid; } Type::Enum IfcRectangularPyramid::Class() { return Type::IfcRectangularPyramid; } @@ -11499,19 +11152,19 @@ IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, d // Function implementations for IfcRectangularTrimmedSurface IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcRectangularTrimmedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcRectangularTrimmedSurface::BasisSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } -void IfcRectangularTrimmedSurface::setU1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRectangularTrimmedSurface::U1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } -void IfcRectangularTrimmedSurface::setV1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRectangularTrimmedSurface::V1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } -void IfcRectangularTrimmedSurface::setU2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRectangularTrimmedSurface::U2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } -void IfcRectangularTrimmedSurface::setV2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRectangularTrimmedSurface::V2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcRectangularTrimmedSurface::Usense() const { return *entity->getArgument(5); } -void IfcRectangularTrimmedSurface::setUsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRectangularTrimmedSurface::Usense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRectangularTrimmedSurface::Vsense() const { return *entity->getArgument(6); } -void IfcRectangularTrimmedSurface::setVsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRectangularTrimmedSurface::Vsense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRectangularTrimmedSurface::is(Type::Enum v) const { return v == Type::IfcRectangularTrimmedSurface || IfcBoundedSurface::is(v); } Type::Enum IfcRectangularTrimmedSurface::type() const { return Type::IfcRectangularTrimmedSurface; } Type::Enum IfcRectangularTrimmedSurface::Class() { return Type::IfcRectangularTrimmedSurface; } @@ -11520,15 +11173,13 @@ IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisS // Function implementations for IfcReferencesValueDocument IfcDocumentSelect* IfcReferencesValueDocument::ReferencedDocument() const { return (IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcReferencesValueDocument::setReferencedDocument(IfcDocumentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcReferencesValueDocument::ReferencedDocument(IfcDocumentSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcReferencesValueDocument::ReferencingValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcReferencesValueDocument::setReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcReferencesValueDocument::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcReferencesValueDocument::Name() const { return *entity->getArgument(2); } -void IfcReferencesValueDocument::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcReferencesValueDocument::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcReferencesValueDocument::Description() const { return *entity->getArgument(3); } -void IfcReferencesValueDocument::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcReferencesValueDocument::ReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } +boost::optional< std::string > IfcReferencesValueDocument::Name() const { return *entity->getArgument(2); } +void IfcReferencesValueDocument::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcReferencesValueDocument::Description() const { return *entity->getArgument(3); } +void IfcReferencesValueDocument::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcReferencesValueDocument::is(Type::Enum v) const { return v == Type::IfcReferencesValueDocument; } Type::Enum IfcReferencesValueDocument::type() const { return Type::IfcReferencesValueDocument; } Type::Enum IfcReferencesValueDocument::Class() { return Type::IfcReferencesValueDocument; } @@ -11537,32 +11188,28 @@ IfcReferencesValueDocument::IfcReferencesValueDocument(IfcDocumentSelect* v1_Ref // Function implementations for IfcRegularTimeSeries double IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } -void IfcRegularTimeSeries::setTimeStep(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRegularTimeSeries::TimeStep(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +void IfcRegularTimeSeries::Values(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v->generalize());; } bool IfcRegularTimeSeries::is(Type::Enum v) const { return v == Type::IfcRegularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcRegularTimeSeries::type() const { return Type::IfcRegularTimeSeries; } Type::Enum IfcRegularTimeSeries::Class() { return Type::IfcRegularTimeSeries; } IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementBarProperties double IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } -void IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcReinforcementBarProperties::TotalCrossSectionArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } -void IfcReinforcementBarProperties::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcReinforcementBarProperties::hasBarSurface() const { return !entity->getArgument(2)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcementBarProperties::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(2)); } -void IfcReinforcementBarProperties::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } -bool IfcReinforcementBarProperties::hasEffectiveDepth() const { return !entity->getArgument(3)->isNull(); } -double IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } -void IfcReinforcementBarProperties::setEffectiveDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !entity->getArgument(4)->isNull(); } -double IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } -void IfcReinforcementBarProperties::setNominalBarDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcReinforcementBarProperties::hasBarCount() const { return !entity->getArgument(5)->isNull(); } -double IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } -void IfcReinforcementBarProperties::setBarCount(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcReinforcementBarProperties::SteelGrade(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > IfcReinforcementBarProperties::BarSurface() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingBarSurfaceEnum::FromString(*arg); } } +void IfcReinforcementBarProperties::BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v,IfcReinforcingBarSurfaceEnum::ToString(*v));; } else { w->setArgument(2); } } +boost::optional< double > IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } +void IfcReinforcementBarProperties::EffectiveDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } +void IfcReinforcementBarProperties::NominalBarDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } +void IfcReinforcementBarProperties::BarCount(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcReinforcementBarProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::type() const { return Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::Class() { return Type::IfcReinforcementBarProperties; } @@ -11570,11 +11217,10 @@ IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntity* IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementDefinitionProperties -bool IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !entity->getArgument(4)->isNull(); } -std::string IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } -void IfcReinforcementDefinitionProperties::setDefinitionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } +void IfcReinforcementDefinitionProperties::DefinitionType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcReinforcementDefinitionProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementDefinitionProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcReinforcementDefinitionProperties::type() const { return Type::IfcReinforcementDefinitionProperties; } Type::Enum IfcReinforcementDefinitionProperties::Class() { return Type::IfcReinforcementDefinitionProperties; } @@ -11583,57 +11229,52 @@ IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std:: // Function implementations for IfcReinforcingBar double IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } -void IfcReinforcingBar::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcReinforcingBar::NominalDiameter(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } double IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } -void IfcReinforcingBar::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingBar::hasBarLength() const { return !entity->getArgument(11)->isNull(); } -double IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } -void IfcReinforcingBar::setBarLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcReinforcingBar::CrossSectionArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } +boost::optional< double > IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } +void IfcReinforcingBar::BarLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcReinforcingBar::BarRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(12)); } -void IfcReinforcingBar::setBarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcReinforcingBarRoleEnum::ToString(v)); } -bool IfcReinforcingBar::hasBarSurface() const { return !entity->getArgument(13)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBar::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } -void IfcReinforcingBar::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } +void IfcReinforcingBar::BarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v,IfcReinforcingBarRoleEnum::ToString(v));; } +boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > IfcReinforcingBar::BarSurface() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingBarSurfaceEnum::FromString(*arg); } } +void IfcReinforcingBar::BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v,IfcReinforcingBarSurfaceEnum::ToString(*v));; } else { w->setArgument(13); } } bool IfcReinforcingBar::is(Type::Enum v) const { return v == Type::IfcReinforcingBar || IfcReinforcingElement::is(v); } Type::Enum IfcReinforcingBar::type() const { return Type::IfcReinforcingBar; } Type::Enum IfcReinforcingBar::Class() { return Type::IfcReinforcingBar; } IfcReinforcingBar::IfcReinforcingBar(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,(v10_NominalDiameter)); e->setArgument(10,(v11_CrossSectionArea)); if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } e->setArgument(12,v13_BarRole,IfcReinforcingBarRoleEnum::ToString(v13_BarRole)); if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,(v10_NominalDiameter)); e->setArgument(10,(v11_CrossSectionArea)); if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } e->setArgument(12,v13_BarRole,IfcReinforcingBarRoleEnum::ToString(v13_BarRole)); if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElement -bool IfcReinforcingElement::hasSteelGrade() const { return !entity->getArgument(8)->isNull(); } -std::string IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } -void IfcReinforcingElement::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } +void IfcReinforcingElement::SteelGrade(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcReinforcingElement::is(Type::Enum v) const { return v == Type::IfcReinforcingElement || IfcBuildingElementComponent::is(v); } Type::Enum IfcReinforcingElement::type() const { return Type::IfcReinforcingElement; } Type::Enum IfcReinforcingElement::Class() { return Type::IfcReinforcingElement; } IfcReinforcingElement::IfcReinforcingElement(IfcAbstractEntity* e) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMesh -bool IfcReinforcingMesh::hasMeshLength() const { return !entity->getArgument(9)->isNull(); } -double IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } -void IfcReinforcingMesh::setMeshLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcReinforcingMesh::hasMeshWidth() const { return !entity->getArgument(10)->isNull(); } -double IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } -void IfcReinforcingMesh::setMeshWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< double > IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } +void IfcReinforcingMesh::MeshLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } +void IfcReinforcingMesh::MeshWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } double IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } -void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcReinforcingMesh::LongitudinalBarNominalDiameter(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } double IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } -void IfcReinforcingMesh::setTransverseBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcReinforcingMesh::TransverseBarNominalDiameter(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } double IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } -void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +void IfcReinforcingMesh::LongitudinalBarCrossSectionArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v); } double IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } -void IfcReinforcingMesh::setTransverseBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +void IfcReinforcingMesh::TransverseBarCrossSectionArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(14,v); } double IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } -void IfcReinforcingMesh::setLongitudinalBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +void IfcReinforcingMesh::LongitudinalBarSpacing(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(15,v); } double IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } -void IfcReinforcingMesh::setTransverseBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +void IfcReinforcingMesh::TransverseBarSpacing(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(16,v); } bool IfcReinforcingMesh::is(Type::Enum v) const { return v == Type::IfcReinforcingMesh || IfcReinforcingElement::is(v); } Type::Enum IfcReinforcingMesh::type() const { return Type::IfcReinforcingMesh; } Type::Enum IfcReinforcingMesh::Class() { return Type::IfcReinforcingMesh; } IfcReinforcingMesh::IfcReinforcingMesh(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } e->setArgument(11,(v12_LongitudinalBarNominalDiameter)); e->setArgument(12,(v13_TransverseBarNominalDiameter)); e->setArgument(13,(v14_LongitudinalBarCrossSectionArea)); e->setArgument(14,(v15_TransverseBarCrossSectionArea)); e->setArgument(15,(v16_LongitudinalBarSpacing)); e->setArgument(16,(v17_TransverseBarSpacing)); entity = e; EntityBuffer::Add(this); } +IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } e->setArgument(11,(v12_LongitudinalBarNominalDiameter)); e->setArgument(12,(v13_TransverseBarNominalDiameter)); e->setArgument(13,(v14_LongitudinalBarCrossSectionArea)); e->setArgument(14,(v15_TransverseBarCrossSectionArea)); e->setArgument(15,(v16_LongitudinalBarSpacing)); e->setArgument(16,(v17_TransverseBarSpacing)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAggregates bool IfcRelAggregates::is(Type::Enum v) const { return v == Type::IfcRelAggregates || IfcRelDecomposes::is(v); } @@ -11644,10 +11285,9 @@ IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, IfcOwnerHistory* v2_ // Function implementations for IfcRelAssigns IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelAssigns::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelAssigns::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -bool IfcRelAssigns::hasRelatedObjectsType() const { return !entity->getArgument(5)->isNull(); } -IfcObjectTypeEnum::IfcObjectTypeEnum IfcRelAssigns::RelatedObjectsType() const { return IfcObjectTypeEnum::FromString(*entity->getArgument(5)); } -void IfcRelAssigns::setRelatedObjectsType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcObjectTypeEnum::ToString(v)); } +void IfcRelAssigns::RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } +boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > IfcRelAssigns::RelatedObjectsType() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return IfcObjectTypeEnum::FromString(*arg); } } +void IfcRelAssigns::RelatedObjectsType(boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v,IfcObjectTypeEnum::ToString(*v));; } else { w->setArgument(5); } } bool IfcRelAssigns::is(Type::Enum v) const { return v == Type::IfcRelAssigns || IfcRelationship::is(v); } Type::Enum IfcRelAssigns::type() const { return Type::IfcRelAssigns; } Type::Enum IfcRelAssigns::Class() { return Type::IfcRelAssigns; } @@ -11655,30 +11295,28 @@ IfcRelAssigns::IfcRelAssigns(IfcAbstractEntity* e) : IfcRelationship((IfcAbstrac IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsTasks -bool IfcRelAssignsTasks::hasTimeForTask() const { return !entity->getArgument(7)->isNull(); } -IfcScheduleTimeControl* IfcRelAssignsTasks::TimeForTask() const { return (IfcScheduleTimeControl*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelAssignsTasks::setTimeForTask(IfcScheduleTimeControl* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< IfcScheduleTimeControl* > IfcRelAssignsTasks::TimeForTask() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcScheduleTimeControl*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssignsTasks::TimeForTask(boost::optional< IfcScheduleTimeControl* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelAssignsTasks::is(Type::Enum v) const { return v == Type::IfcRelAssignsTasks || IfcRelAssignsToControl::is(v); } Type::Enum IfcRelAssignsTasks::type() const { return Type::IfcRelAssignsTasks; } Type::Enum IfcRelAssignsTasks::Class() { return Type::IfcRelAssignsTasks; } IfcRelAssignsTasks::IfcRelAssignsTasks(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsTasks)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsTasks::IfcRelAssignsTasks(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); e->setArgument(7,(v8_TimeForTask)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsTasks::IfcRelAssignsTasks(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, boost::optional< IfcScheduleTimeControl* > v8_TimeForTask) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); if (v8_TimeForTask) { e->setArgument(7,(*v8_TimeForTask)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToActor IfcActor* IfcRelAssignsToActor::RelatingActor() const { return (IfcActor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToActor::setRelatingActor(IfcActor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelAssignsToActor::hasActingRole() const { return !entity->getArgument(7)->isNull(); } -IfcActorRole* IfcRelAssignsToActor::ActingRole() const { return (IfcActorRole*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelAssignsToActor::setActingRole(IfcActorRole* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelAssignsToActor::RelatingActor(IfcActor* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcActorRole* > IfcRelAssignsToActor::ActingRole() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcActorRole*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssignsToActor::ActingRole(boost::optional< IfcActorRole* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelAssignsToActor::is(Type::Enum v) const { return v == Type::IfcRelAssignsToActor || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToActor::type() const { return Type::IfcRelAssignsToActor; } Type::Enum IfcRelAssignsToActor::Class() { return Type::IfcRelAssignsToActor; } IfcRelAssignsToActor::IfcRelAssignsToActor(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, boost::optional< IfcActorRole* > v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); if (v8_ActingRole) { e->setArgument(7,(*v8_ActingRole)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToControl IfcControl* IfcRelAssignsToControl::RelatingControl() const { return (IfcControl*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToControl::setRelatingControl(IfcControl* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToControl::RelatingControl(IfcControl* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToControl::is(Type::Enum v) const { return v == Type::IfcRelAssignsToControl || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToControl::type() const { return Type::IfcRelAssignsToControl; } Type::Enum IfcRelAssignsToControl::Class() { return Type::IfcRelAssignsToControl; } @@ -11687,7 +11325,7 @@ IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, IfcOwner // Function implementations for IfcRelAssignsToGroup IfcGroup* IfcRelAssignsToGroup::RelatingGroup() const { return (IfcGroup*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToGroup::setRelatingGroup(IfcGroup* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToGroup::RelatingGroup(IfcGroup* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToGroup::is(Type::Enum v) const { return v == Type::IfcRelAssignsToGroup || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToGroup::type() const { return Type::IfcRelAssignsToGroup; } Type::Enum IfcRelAssignsToGroup::Class() { return Type::IfcRelAssignsToGroup; } @@ -11696,19 +11334,18 @@ IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, IfcOwnerHist // Function implementations for IfcRelAssignsToProcess IfcProcess* IfcRelAssignsToProcess::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToProcess::setRelatingProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelAssignsToProcess::hasQuantityInProcess() const { return !entity->getArgument(7)->isNull(); } -IfcMeasureWithUnit* IfcRelAssignsToProcess::QuantityInProcess() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelAssignsToProcess::setQuantityInProcess(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelAssignsToProcess::RelatingProcess(IfcProcess* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcMeasureWithUnit* > IfcRelAssignsToProcess::QuantityInProcess() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssignsToProcess::QuantityInProcess(boost::optional< IfcMeasureWithUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelAssignsToProcess::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProcess || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToProcess::type() const { return Type::IfcRelAssignsToProcess; } Type::Enum IfcRelAssignsToProcess::Class() { return Type::IfcRelAssignsToProcess; } IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, boost::optional< IfcMeasureWithUnit* > v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); if (v8_QuantityInProcess) { e->setArgument(7,(*v8_QuantityInProcess)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProduct IfcProduct* IfcRelAssignsToProduct::RelatingProduct() const { return (IfcProduct*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToProduct::setRelatingProduct(IfcProduct* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToProduct::RelatingProduct(IfcProduct* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToProduct::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProduct || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToProduct::type() const { return Type::IfcRelAssignsToProduct; } Type::Enum IfcRelAssignsToProduct::Class() { return Type::IfcRelAssignsToProduct; } @@ -11724,7 +11361,7 @@ IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(std::string v1_GlobalId // Function implementations for IfcRelAssignsToResource IfcResource* IfcRelAssignsToResource::RelatingResource() const { return (IfcResource*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToResource::setRelatingResource(IfcResource* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToResource::RelatingResource(IfcResource* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToResource::is(Type::Enum v) const { return v == Type::IfcRelAssignsToResource || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToResource::type() const { return Type::IfcRelAssignsToResource; } Type::Enum IfcRelAssignsToResource::Class() { return Type::IfcRelAssignsToResource; } @@ -11733,7 +11370,7 @@ IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, IfcOwn // Function implementations for IfcRelAssociates IfcTemplatedEntityList< IfcRoot >::ptr IfcRelAssociates::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelAssociates::setRelatedObjects(IfcTemplatedEntityList< IfcRoot >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelAssociates::RelatedObjects(IfcTemplatedEntityList< IfcRoot >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } bool IfcRelAssociates::is(Type::Enum v) const { return v == Type::IfcRelAssociates || IfcRelationship::is(v); } Type::Enum IfcRelAssociates::type() const { return Type::IfcRelAssociates; } Type::Enum IfcRelAssociates::Class() { return Type::IfcRelAssociates; } @@ -11742,7 +11379,7 @@ IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, IfcOwnerHistory* v2_ // Function implementations for IfcRelAssociatesAppliedValue IfcAppliedValue* IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return (IfcAppliedValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesAppliedValue::setRelatingAppliedValue(IfcAppliedValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesAppliedValue::RelatingAppliedValue(IfcAppliedValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesAppliedValue::is(Type::Enum v) const { return v == Type::IfcRelAssociatesAppliedValue || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesAppliedValue::type() const { return Type::IfcRelAssociatesAppliedValue; } Type::Enum IfcRelAssociatesAppliedValue::Class() { return Type::IfcRelAssociatesAppliedValue; } @@ -11751,7 +11388,7 @@ IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(std::string v1_Global // Function implementations for IfcRelAssociatesApproval IfcApproval* IfcRelAssociatesApproval::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesApproval::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesApproval::RelatingApproval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesApproval::is(Type::Enum v) const { return v == Type::IfcRelAssociatesApproval || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesApproval::type() const { return Type::IfcRelAssociatesApproval; } Type::Enum IfcRelAssociatesApproval::Class() { return Type::IfcRelAssociatesApproval; } @@ -11760,7 +11397,7 @@ IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, IfcO // Function implementations for IfcRelAssociatesClassification IfcClassificationNotationSelect* IfcRelAssociatesClassification::RelatingClassification() const { return (IfcClassificationNotationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationNotationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesClassification::RelatingClassification(IfcClassificationNotationSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesClassification::is(Type::Enum v) const { return v == Type::IfcRelAssociatesClassification || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesClassification::type() const { return Type::IfcRelAssociatesClassification; } Type::Enum IfcRelAssociatesClassification::Class() { return Type::IfcRelAssociatesClassification; } @@ -11769,9 +11406,9 @@ IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_Gl // Function implementations for IfcRelAssociatesConstraint std::string IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } -void IfcRelAssociatesConstraint::setIntent(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesConstraint::Intent(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssociatesConstraint::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssociatesConstraint::RelatingConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssociatesConstraint::is(Type::Enum v) const { return v == Type::IfcRelAssociatesConstraint || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesConstraint::type() const { return Type::IfcRelAssociatesConstraint; } Type::Enum IfcRelAssociatesConstraint::Class() { return Type::IfcRelAssociatesConstraint; } @@ -11780,7 +11417,7 @@ IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, // Function implementations for IfcRelAssociatesDocument IfcDocumentSelect* IfcRelAssociatesDocument::RelatingDocument() const { return (IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesDocument::RelatingDocument(IfcDocumentSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesDocument::is(Type::Enum v) const { return v == Type::IfcRelAssociatesDocument || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesDocument::type() const { return Type::IfcRelAssociatesDocument; } Type::Enum IfcRelAssociatesDocument::Class() { return Type::IfcRelAssociatesDocument; } @@ -11789,7 +11426,7 @@ IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, IfcO // Function implementations for IfcRelAssociatesLibrary IfcLibrarySelect* IfcRelAssociatesLibrary::RelatingLibrary() const { return (IfcLibrarySelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesLibrary::RelatingLibrary(IfcLibrarySelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesLibrary::is(Type::Enum v) const { return v == Type::IfcRelAssociatesLibrary || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesLibrary::type() const { return Type::IfcRelAssociatesLibrary; } Type::Enum IfcRelAssociatesLibrary::Class() { return Type::IfcRelAssociatesLibrary; } @@ -11798,7 +11435,7 @@ IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, IfcOwn // Function implementations for IfcRelAssociatesMaterial IfcMaterialSelect* IfcRelAssociatesMaterial::RelatingMaterial() const { return (IfcMaterialSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesMaterial::RelatingMaterial(IfcMaterialSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesMaterial::is(Type::Enum v) const { return v == Type::IfcRelAssociatesMaterial || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesMaterial::type() const { return Type::IfcRelAssociatesMaterial; } Type::Enum IfcRelAssociatesMaterial::Class() { return Type::IfcRelAssociatesMaterial; } @@ -11807,18 +11444,16 @@ IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, IfcO // Function implementations for IfcRelAssociatesProfileProperties IfcProfileProperties* IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return (IfcProfileProperties*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesProfileProperties::setRelatingProfileProperties(IfcProfileProperties* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelAssociatesProfileProperties::hasProfileSectionLocation() const { return !entity->getArgument(6)->isNull(); } -IfcShapeAspect* IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssociatesProfileProperties::setProfileSectionLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelAssociatesProfileProperties::hasProfileOrientation() const { return !entity->getArgument(7)->isNull(); } -IfcOrientationSelect* IfcRelAssociatesProfileProperties::ProfileOrientation() const { return (IfcOrientationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelAssociatesProfileProperties::setProfileOrientation(IfcOrientationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelAssociatesProfileProperties::RelatingProfileProperties(IfcProfileProperties* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcShapeAspect* > IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssociatesProfileProperties::ProfileSectionLocation(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcOrientationSelect* > IfcRelAssociatesProfileProperties::ProfileOrientation() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcOrientationSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssociatesProfileProperties::ProfileOrientation(boost::optional< IfcOrientationSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelAssociatesProfileProperties::is(Type::Enum v) const { return v == Type::IfcRelAssociatesProfileProperties || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesProfileProperties::type() const { return Type::IfcRelAssociatesProfileProperties; } Type::Enum IfcRelAssociatesProfileProperties::Class() { return Type::IfcRelAssociatesProfileProperties; } IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, IfcOrientationSelect* v8_ProfileOrientation) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingProfileProperties)); e->setArgument(6,(v7_ProfileSectionLocation)); e->setArgument(7,(v8_ProfileOrientation)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, boost::optional< IfcShapeAspect* > v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect* > v8_ProfileOrientation) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingProfileProperties)); if (v7_ProfileSectionLocation) { e->setArgument(6,(*v7_ProfileSectionLocation)); } else { e->setArgument(6); } if (v8_ProfileOrientation) { e->setArgument(7,(*v8_ProfileOrientation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnects bool IfcRelConnects::is(Type::Enum v) const { return v == Type::IfcRelConnects || IfcRelationship::is(v); } @@ -11828,39 +11463,38 @@ IfcRelConnects::IfcRelConnects(IfcAbstractEntity* e) : IfcRelationship((IfcAbstr IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsElements -bool IfcRelConnectsElements::hasConnectionGeometry() const { return !entity->getArgument(4)->isNull(); } -IfcConnectionGeometry* IfcRelConnectsElements::ConnectionGeometry() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsElements::setConnectionGeometry(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcConnectionGeometry* > IfcRelConnectsElements::ConnectionGeometry() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsElements::ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcElement* IfcRelConnectsElements::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsElements::setRelatingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsElements::RelatingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcElement* IfcRelConnectsElements::RelatedElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelConnectsElements::setRelatedElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelConnectsElements::RelatedElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelConnectsElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsElements || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsElements::type() const { return Type::IfcRelConnectsElements; } Type::Enum IfcRelConnectsElements::Class() { return Type::IfcRelConnectsElements; } IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ConnectionGeometry) { e->setArgument(4,(*v5_ConnectionGeometry)); } else { e->setArgument(4); } e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } -void IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelConnectsPathElements::RelatingPriorities(std::vector< int > /*[0:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() const { return *entity->getArgument(8); } -void IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelConnectsPathElements::RelatedPriorities(std::vector< int > /*[0:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRelConnectsPathElements::setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcConnectionTypeEnum::ToString(v)); } +void IfcRelConnectsPathElements::RelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcConnectionTypeEnum::ToString(v));; } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } -void IfcRelConnectsPathElements::setRelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcConnectionTypeEnum::ToString(v)); } +void IfcRelConnectsPathElements::RelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v,IfcConnectionTypeEnum::ToString(v));; } bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsPathElements || IfcRelConnectsElements::is(v); } Type::Enum IfcRelConnectsPathElements::type() const { return Type::IfcRelConnectsPathElements; } Type::Enum IfcRelConnectsPathElements::Class() { return Type::IfcRelConnectsPathElements; } IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ConnectionGeometry) { e->setArgument(4,(*v5_ConnectionGeometry)); } else { e->setArgument(4); } e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement IfcPort* IfcRelConnectsPortToElement::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsPortToElement::setRelatingPort(IfcPort* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsPortToElement::RelatingPort(IfcPort* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcElement* IfcRelConnectsPortToElement::RelatedElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsPortToElement::setRelatedElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsPortToElement::RelatedElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelConnectsPortToElement::is(Type::Enum v) const { return v == Type::IfcRelConnectsPortToElement || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsPortToElement::type() const { return Type::IfcRelConnectsPortToElement; } Type::Enum IfcRelConnectsPortToElement::Class() { return Type::IfcRelConnectsPortToElement; } @@ -11869,23 +11503,22 @@ IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId // Function implementations for IfcRelConnectsPorts IfcPort* IfcRelConnectsPorts::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsPorts::setRelatingPort(IfcPort* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsPorts::RelatingPort(IfcPort* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcPort* IfcRelConnectsPorts::RelatedPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsPorts::setRelatedPort(IfcPort* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelConnectsPorts::hasRealizingElement() const { return !entity->getArgument(6)->isNull(); } -IfcElement* IfcRelConnectsPorts::RealizingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelConnectsPorts::setRealizingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelConnectsPorts::RelatedPort(IfcPort* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcElement* > IfcRelConnectsPorts::RealizingElement() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsPorts::RealizingElement(boost::optional< IfcElement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcRelConnectsPorts::is(Type::Enum v) const { return v == Type::IfcRelConnectsPorts || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsPorts::type() const { return Type::IfcRelConnectsPorts; } Type::Enum IfcRelConnectsPorts::Class() { return Type::IfcRelConnectsPorts; } IfcRelConnectsPorts::IfcRelConnectsPorts(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, boost::optional< IfcElement* > v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); if (v7_RealizingElement) { e->setArgument(6,(*v7_RealizingElement)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralActivity IfcStructuralActivityAssignmentSelect* IfcRelConnectsStructuralActivity::RelatingElement() const { return (IfcStructuralActivityAssignmentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsStructuralActivity::RelatingElement(IfcStructuralActivityAssignmentSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(IfcStructuralActivity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsStructuralActivity::RelatedStructuralActivity(IfcStructuralActivity* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelConnectsStructuralActivity::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralActivity || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralActivity::type() const { return Type::IfcRelConnectsStructuralActivity; } Type::Enum IfcRelConnectsStructuralActivity::Class() { return Type::IfcRelConnectsStructuralActivity; } @@ -11894,9 +11527,9 @@ IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v // Function implementations for IfcRelConnectsStructuralElement IfcElement* IfcRelConnectsStructuralElement::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsStructuralElement::setRelatingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsStructuralElement::RelatingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcStructuralMember* IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return (IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsStructuralElement::setRelatedStructuralMember(IfcStructuralMember* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsStructuralElement::RelatedStructuralMember(IfcStructuralMember* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelConnectsStructuralElement::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralElement || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralElement::type() const { return Type::IfcRelConnectsStructuralElement; } Type::Enum IfcRelConnectsStructuralElement::Class() { return Type::IfcRelConnectsStructuralElement; } @@ -11905,53 +11538,48 @@ IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(std::string v1_ // Function implementations for IfcRelConnectsStructuralMember IfcStructuralMember* IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return (IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsStructuralMember::setRelatingStructuralMember(IfcStructuralMember* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsStructuralMember::RelatingStructuralMember(IfcStructuralMember* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcStructuralConnection* IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return (IfcStructuralConnection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsStructuralMember::setRelatedStructuralConnection(IfcStructuralConnection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelConnectsStructuralMember::hasAppliedCondition() const { return !entity->getArgument(6)->isNull(); } -IfcBoundaryCondition* IfcRelConnectsStructuralMember::AppliedCondition() const { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelConnectsStructuralMember::setAppliedCondition(IfcBoundaryCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelConnectsStructuralMember::hasAdditionalConditions() const { return !entity->getArgument(7)->isNull(); } -IfcStructuralConnectionCondition* IfcRelConnectsStructuralMember::AdditionalConditions() const { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelConnectsStructuralMember::setAdditionalConditions(IfcStructuralConnectionCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcRelConnectsStructuralMember::hasSupportedLength() const { return !entity->getArgument(8)->isNull(); } -double IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } -void IfcRelConnectsStructuralMember::setSupportedLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() const { return !entity->getArgument(9)->isNull(); } -IfcAxis2Placement3D* IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcRelConnectsStructuralMember::setConditionCoordinateSystem(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcRelConnectsStructuralMember::RelatedStructuralConnection(IfcStructuralConnection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcBoundaryCondition* > IfcRelConnectsStructuralMember::AppliedCondition() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsStructuralMember::AppliedCondition(boost::optional< IfcBoundaryCondition* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcStructuralConnectionCondition* > IfcRelConnectsStructuralMember::AdditionalConditions() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsStructuralMember::AdditionalConditions(boost::optional< IfcStructuralConnectionCondition* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } +void IfcRelConnectsStructuralMember::SupportedLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcAxis2Placement3D* > IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsStructuralMember::ConditionCoordinateSystem(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcRelConnectsStructuralMember::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralMember || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralMember::type() const { return Type::IfcRelConnectsStructuralMember; } Type::Enum IfcRelConnectsStructuralMember::Class() { return Type::IfcRelConnectsStructuralMember; } IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); if (v7_AppliedCondition) { e->setArgument(6,(*v7_AppliedCondition)); } else { e->setArgument(6); } if (v8_AdditionalConditions) { e->setArgument(7,(*v8_AdditionalConditions)); } else { e->setArgument(7); } if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } if (v10_ConditionCoordinateSystem) { e->setArgument(9,(*v10_ConditionCoordinateSystem)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithEccentricity IfcConnectionGeometry* IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcRelConnectsWithEccentricity::setConnectionConstraint(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcRelConnectsWithEccentricity::ConnectionConstraint(IfcConnectionGeometry* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcRelConnectsWithEccentricity::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithEccentricity || IfcRelConnectsStructuralMember::is(v); } Type::Enum IfcRelConnectsWithEccentricity::type() const { return Type::IfcRelConnectsWithEccentricity; } Type::Enum IfcRelConnectsWithEccentricity::Class() { return Type::IfcRelConnectsWithEccentricity; } IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcAbstractEntity* e) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); if (v7_AppliedCondition) { e->setArgument(6,(*v7_AppliedCondition)); } else { e->setArgument(6); } if (v8_AdditionalConditions) { e->setArgument(7,(*v8_AdditionalConditions)); } else { e->setArgument(7); } if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } if (v10_ConditionCoordinateSystem) { e->setArgument(9,(*v10_ConditionCoordinateSystem)); } else { e->setArgument(9); } e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithRealizingElements IfcTemplatedEntityList< IfcElement >::ptr IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } -void IfcRelConnectsWithRealizingElements::setConnectionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelConnectsWithRealizingElements::RealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } +boost::optional< std::string > IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } +void IfcRelConnectsWithRealizingElements::ConnectionType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcRelConnectsWithRealizingElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithRealizingElements || IfcRelConnectsElements::is(v); } Type::Enum IfcRelConnectsWithRealizingElements::type() const { return Type::IfcRelConnectsWithRealizingElements; } Type::Enum IfcRelConnectsWithRealizingElements::Class() { return Type::IfcRelConnectsWithRealizingElements; } IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ConnectionGeometry) { e->setArgument(4,(*v5_ConnectionGeometry)); } else { e->setArgument(4); } e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelContainedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelContainedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelContainedInSpatialStructure::setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelContainedInSpatialStructure::RelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcSpatialStructureElement* IfcRelContainedInSpatialStructure::RelatingStructure() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelContainedInSpatialStructure::setRelatingStructure(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelContainedInSpatialStructure::RelatingStructure(IfcSpatialStructureElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelContainedInSpatialStructure::is(Type::Enum v) const { return v == Type::IfcRelContainedInSpatialStructure || IfcRelConnects::is(v); } Type::Enum IfcRelContainedInSpatialStructure::type() const { return Type::IfcRelContainedInSpatialStructure; } Type::Enum IfcRelContainedInSpatialStructure::Class() { return Type::IfcRelContainedInSpatialStructure; } @@ -11960,9 +11588,9 @@ IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string // Function implementations for IfcRelCoversBldgElements IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelCoversBldgElements::setRelatingBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelCoversBldgElements::RelatingBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcCovering >::ptr IfcRelCoversBldgElements::RelatedCoverings() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelCoversBldgElements::setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelCoversBldgElements::RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRelCoversBldgElements || IfcRelConnects::is(v); } Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } @@ -11971,9 +11599,9 @@ IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, IfcO // Function implementations for IfcRelCoversSpaces IfcSpace* IfcRelCoversSpaces::RelatedSpace() const { return (IfcSpace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelCoversSpaces::setRelatedSpace(IfcSpace* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelCoversSpaces::RelatedSpace(IfcSpace* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcCovering >::ptr IfcRelCoversSpaces::RelatedCoverings() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelCoversSpaces::setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelCoversSpaces::RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCoversSpaces || IfcRelConnects::is(v); } Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } @@ -11982,9 +11610,9 @@ IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcRelDecomposes IfcObjectDefinition* IfcRelDecomposes::RelatingObject() const { return (IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelDecomposes::setRelatingObject(IfcObjectDefinition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelDecomposes::RelatingObject(IfcObjectDefinition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelDecomposes::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelDecomposes::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelDecomposes::RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelDecomposes::is(Type::Enum v) const { return v == Type::IfcRelDecomposes || IfcRelationship::is(v); } Type::Enum IfcRelDecomposes::type() const { return Type::IfcRelDecomposes; } Type::Enum IfcRelDecomposes::Class() { return Type::IfcRelDecomposes; } @@ -11993,7 +11621,7 @@ IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, IfcOwnerHistory* v2_ // Function implementations for IfcRelDefines IfcTemplatedEntityList< IfcObject >::ptr IfcRelDefines::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelDefines::setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelDefines::RelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } bool IfcRelDefines::is(Type::Enum v) const { return v == Type::IfcRelDefines || IfcRelationship::is(v); } Type::Enum IfcRelDefines::type() const { return Type::IfcRelDefines; } Type::Enum IfcRelDefines::Class() { return Type::IfcRelDefines; } @@ -12002,7 +11630,7 @@ IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcRelDefinesByProperties IfcPropertySetDefinition* IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return (IfcPropertySetDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelDefinesByProperties::setRelatingPropertyDefinition(IfcPropertySetDefinition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDefinesByProperties::RelatingPropertyDefinition(IfcPropertySetDefinition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDefinesByProperties::is(Type::Enum v) const { return v == Type::IfcRelDefinesByProperties || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByProperties::type() const { return Type::IfcRelDefinesByProperties; } Type::Enum IfcRelDefinesByProperties::Class() { return Type::IfcRelDefinesByProperties; } @@ -12011,7 +11639,7 @@ IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, If // Function implementations for IfcRelDefinesByType IfcTypeObject* IfcRelDefinesByType::RelatingType() const { return (IfcTypeObject*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelDefinesByType::setRelatingType(IfcTypeObject* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDefinesByType::RelatingType(IfcTypeObject* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDefinesByType::is(Type::Enum v) const { return v == Type::IfcRelDefinesByType || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByType::type() const { return Type::IfcRelDefinesByType; } Type::Enum IfcRelDefinesByType::Class() { return Type::IfcRelDefinesByType; } @@ -12020,9 +11648,9 @@ IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, IfcOwnerHistor // Function implementations for IfcRelFillsElement IfcOpeningElement* IfcRelFillsElement::RelatingOpeningElement() const { return (IfcOpeningElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelFillsElement::setRelatingOpeningElement(IfcOpeningElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelFillsElement::RelatingOpeningElement(IfcOpeningElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcElement* IfcRelFillsElement::RelatedBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelFillsElement::setRelatedBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelFillsElement::RelatedBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelFillsElement::is(Type::Enum v) const { return v == Type::IfcRelFillsElement || IfcRelConnects::is(v); } Type::Enum IfcRelFillsElement::type() const { return Type::IfcRelFillsElement; } Type::Enum IfcRelFillsElement::Class() { return Type::IfcRelFillsElement; } @@ -12031,9 +11659,9 @@ IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcRelFlowControlElements IfcTemplatedEntityList< IfcDistributionControlElement >::ptr IfcRelFlowControlElements::RelatedControlElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelFlowControlElements::setRelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelFlowControlElements::RelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcDistributionFlowElement* IfcRelFlowControlElements::RelatingFlowElement() const { return (IfcDistributionFlowElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelFlowControlElements::setRelatingFlowElement(IfcDistributionFlowElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelFlowControlElements::RelatingFlowElement(IfcDistributionFlowElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelFlowControlElements::is(Type::Enum v) const { return v == Type::IfcRelFlowControlElements || IfcRelConnects::is(v); } Type::Enum IfcRelFlowControlElements::type() const { return Type::IfcRelFlowControlElements; } Type::Enum IfcRelFlowControlElements::Class() { return Type::IfcRelFlowControlElements; } @@ -12041,24 +11669,21 @@ IfcRelFlowControlElements::IfcRelFlowControlElements(IfcAbstractEntity* e) : Ifc IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelInteractionRequirements -bool IfcRelInteractionRequirements::hasDailyInteraction() const { return !entity->getArgument(4)->isNull(); } -double IfcRelInteractionRequirements::DailyInteraction() const { return *entity->getArgument(4); } -void IfcRelInteractionRequirements::setDailyInteraction(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRelInteractionRequirements::hasImportanceRating() const { return !entity->getArgument(5)->isNull(); } -double IfcRelInteractionRequirements::ImportanceRating() const { return *entity->getArgument(5); } -void IfcRelInteractionRequirements::setImportanceRating(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelInteractionRequirements::hasLocationOfInteraction() const { return !entity->getArgument(6)->isNull(); } -IfcSpatialStructureElement* IfcRelInteractionRequirements::LocationOfInteraction() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelInteractionRequirements::setLocationOfInteraction(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcRelInteractionRequirements::DailyInteraction() const { return *entity->getArgument(4); } +void IfcRelInteractionRequirements::DailyInteraction(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcRelInteractionRequirements::ImportanceRating() const { return *entity->getArgument(5); } +void IfcRelInteractionRequirements::ImportanceRating(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcSpatialStructureElement* > IfcRelInteractionRequirements::LocationOfInteraction() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelInteractionRequirements::LocationOfInteraction(boost::optional< IfcSpatialStructureElement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcSpaceProgram* IfcRelInteractionRequirements::RelatedSpaceProgram() const { return (IfcSpaceProgram*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelInteractionRequirements::setRelatedSpaceProgram(IfcSpaceProgram* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelInteractionRequirements::RelatedSpaceProgram(IfcSpaceProgram* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcSpaceProgram* IfcRelInteractionRequirements::RelatingSpaceProgram() const { return (IfcSpaceProgram*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcRelInteractionRequirements::setRelatingSpaceProgram(IfcSpaceProgram* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelInteractionRequirements::RelatingSpaceProgram(IfcSpaceProgram* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcRelInteractionRequirements::is(Type::Enum v) const { return v == Type::IfcRelInteractionRequirements || IfcRelConnects::is(v); } Type::Enum IfcRelInteractionRequirements::type() const { return Type::IfcRelInteractionRequirements; } Type::Enum IfcRelInteractionRequirements::Class() { return Type::IfcRelInteractionRequirements; } IfcRelInteractionRequirements::IfcRelInteractionRequirements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelInteractionRequirements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelInteractionRequirements::IfcRelInteractionRequirements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DailyInteraction) { e->setArgument(4,(*v5_DailyInteraction)); } else { e->setArgument(4); } if (v6_ImportanceRating) { e->setArgument(5,(*v6_ImportanceRating)); } else { e->setArgument(5); } e->setArgument(6,(v7_LocationOfInteraction)); e->setArgument(7,(v8_RelatedSpaceProgram)); e->setArgument(8,(v9_RelatingSpaceProgram)); entity = e; EntityBuffer::Add(this); } +IfcRelInteractionRequirements::IfcRelInteractionRequirements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, boost::optional< IfcSpatialStructureElement* > v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DailyInteraction) { e->setArgument(4,(*v5_DailyInteraction)); } else { e->setArgument(4); } if (v6_ImportanceRating) { e->setArgument(5,(*v6_ImportanceRating)); } else { e->setArgument(5); } if (v7_LocationOfInteraction) { e->setArgument(6,(*v7_LocationOfInteraction)); } else { e->setArgument(6); } e->setArgument(7,(v8_RelatedSpaceProgram)); e->setArgument(8,(v9_RelatingSpaceProgram)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelNests bool IfcRelNests::is(Type::Enum v) const { return v == Type::IfcRelNests || IfcRelDecomposes::is(v); } @@ -12072,11 +11697,11 @@ bool IfcRelOccupiesSpaces::is(Type::Enum v) const { return v == Type::IfcRelOccu Type::Enum IfcRelOccupiesSpaces::type() const { return Type::IfcRelOccupiesSpaces; } Type::Enum IfcRelOccupiesSpaces::Class() { return Type::IfcRelOccupiesSpaces; } IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcAbstractEntity* e) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelOccupiesSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } +IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, boost::optional< IfcActorRole* > v8_ActingRole) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); if (v8_ActingRole) { e->setArgument(7,(*v8_ActingRole)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelOverridesProperties IfcTemplatedEntityList< IfcProperty >::ptr IfcRelOverridesProperties::OverridingProperties() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcRelOverridesProperties::setOverridingProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +void IfcRelOverridesProperties::OverridingProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v->generalize());; } bool IfcRelOverridesProperties::is(Type::Enum v) const { return v == Type::IfcRelOverridesProperties || IfcRelDefinesByProperties::is(v); } Type::Enum IfcRelOverridesProperties::type() const { return Type::IfcRelOverridesProperties; } Type::Enum IfcRelOverridesProperties::Class() { return Type::IfcRelOverridesProperties; } @@ -12085,9 +11710,9 @@ IfcRelOverridesProperties::IfcRelOverridesProperties(std::string v1_GlobalId, If // Function implementations for IfcRelProjectsElement IfcElement* IfcRelProjectsElement::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelProjectsElement::setRelatingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelProjectsElement::RelatingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcFeatureElementAddition* IfcRelProjectsElement::RelatedFeatureElement() const { return (IfcFeatureElementAddition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelProjectsElement::setRelatedFeatureElement(IfcFeatureElementAddition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelProjectsElement::RelatedFeatureElement(IfcFeatureElementAddition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelProjectsElement::is(Type::Enum v) const { return v == Type::IfcRelProjectsElement || IfcRelConnects::is(v); } Type::Enum IfcRelProjectsElement::type() const { return Type::IfcRelProjectsElement; } Type::Enum IfcRelProjectsElement::Class() { return Type::IfcRelProjectsElement; } @@ -12096,9 +11721,9 @@ IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcRelReferencedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelReferencedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelReferencedInSpatialStructure::setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelReferencedInSpatialStructure::RelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcSpatialStructureElement* IfcRelReferencedInSpatialStructure::RelatingStructure() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelReferencedInSpatialStructure::setRelatingStructure(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelReferencedInSpatialStructure::RelatingStructure(IfcSpatialStructureElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelReferencedInSpatialStructure::is(Type::Enum v) const { return v == Type::IfcRelReferencedInSpatialStructure || IfcRelConnects::is(v); } Type::Enum IfcRelReferencedInSpatialStructure::type() const { return Type::IfcRelReferencedInSpatialStructure; } Type::Enum IfcRelReferencedInSpatialStructure::Class() { return Type::IfcRelReferencedInSpatialStructure; } @@ -12114,13 +11739,13 @@ IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(std::string v1_GlobalId, IfcO // Function implementations for IfcRelSequence IfcProcess* IfcRelSequence::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelSequence::setRelatingProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelSequence::RelatingProcess(IfcProcess* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcProcess* IfcRelSequence::RelatedProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelSequence::setRelatedProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelSequence::RelatedProcess(IfcProcess* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcRelSequence::TimeLag() const { return *entity->getArgument(6); } -void IfcRelSequence::setTimeLag(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelSequence::TimeLag(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() const { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } -void IfcRelSequence::setSequenceType(IfcSequenceEnum::IfcSequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcSequenceEnum::ToString(v)); } +void IfcRelSequence::SequenceType(IfcSequenceEnum::IfcSequenceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcSequenceEnum::ToString(v));; } bool IfcRelSequence::is(Type::Enum v) const { return v == Type::IfcRelSequence || IfcRelConnects::is(v); } Type::Enum IfcRelSequence::type() const { return Type::IfcRelSequence; } Type::Enum IfcRelSequence::Class() { return Type::IfcRelSequence; } @@ -12129,9 +11754,9 @@ IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcRelServicesBuildings IfcSystem* IfcRelServicesBuildings::RelatingSystem() const { return (IfcSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelServicesBuildings::setRelatingSystem(IfcSystem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelServicesBuildings::RelatingSystem(IfcSystem* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr IfcRelServicesBuildings::RelatedBuildings() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelServicesBuildings::setRelatedBuildings(IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelServicesBuildings::RelatedBuildings(IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelServicesBuildings::is(Type::Enum v) const { return v == Type::IfcRelServicesBuildings || IfcRelConnects::is(v); } Type::Enum IfcRelServicesBuildings::type() const { return Type::IfcRelServicesBuildings; } Type::Enum IfcRelServicesBuildings::Class() { return Type::IfcRelServicesBuildings; } @@ -12140,28 +11765,26 @@ IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, IfcOwn // Function implementations for IfcRelSpaceBoundary IfcSpace* IfcRelSpaceBoundary::RelatingSpace() const { return (IfcSpace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelSpaceBoundary::setRelatingSpace(IfcSpace* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRelSpaceBoundary::hasRelatedBuildingElement() const { return !entity->getArgument(5)->isNull(); } -IfcElement* IfcRelSpaceBoundary::RelatedBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelSpaceBoundary::setRelatedBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelSpaceBoundary::hasConnectionGeometry() const { return !entity->getArgument(6)->isNull(); } -IfcConnectionGeometry* IfcRelSpaceBoundary::ConnectionGeometry() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelSpaceBoundary::setConnectionGeometry(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelSpaceBoundary::RelatingSpace(IfcSpace* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< IfcElement* > IfcRelSpaceBoundary::RelatedBuildingElement() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelSpaceBoundary::RelatedBuildingElement(boost::optional< IfcElement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcConnectionGeometry* > IfcRelSpaceBoundary::ConnectionGeometry() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelSpaceBoundary::ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return IfcPhysicalOrVirtualEnum::FromString(*entity->getArgument(7)); } -void IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcPhysicalOrVirtualEnum::ToString(v)); } +void IfcRelSpaceBoundary::PhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcPhysicalOrVirtualEnum::ToString(v));; } IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(8)); } -void IfcRelSpaceBoundary::setInternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcInternalOrExternalEnum::ToString(v)); } +void IfcRelSpaceBoundary::InternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcInternalOrExternalEnum::ToString(v));; } bool IfcRelSpaceBoundary::is(Type::Enum v) const { return v == Type::IfcRelSpaceBoundary || IfcRelConnects::is(v); } Type::Enum IfcRelSpaceBoundary::type() const { return Type::IfcRelSpaceBoundary; } Type::Enum IfcRelSpaceBoundary::Class() { return Type::IfcRelSpaceBoundary; } IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, boost::optional< IfcElement* > v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); if (v6_RelatedBuildingElement) { e->setArgument(5,(*v6_RelatedBuildingElement)); } else { e->setArgument(5); } if (v7_ConnectionGeometry) { e->setArgument(6,(*v7_ConnectionGeometry)); } else { e->setArgument(6); } e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelVoidsElement IfcElement* IfcRelVoidsElement::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelVoidsElement::setRelatingBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelVoidsElement::RelatingBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcFeatureElementSubtraction* IfcRelVoidsElement::RelatedOpeningElement() const { return (IfcFeatureElementSubtraction*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelVoidsElement::setRelatedOpeningElement(IfcFeatureElementSubtraction* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelVoidsElement::RelatedOpeningElement(IfcFeatureElementSubtraction* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelVoidsElement::is(Type::Enum v) const { return v == Type::IfcRelVoidsElement || IfcRelConnects::is(v); } Type::Enum IfcRelVoidsElement::type() const { return Type::IfcRelVoidsElement; } Type::Enum IfcRelVoidsElement::Class() { return Type::IfcRelVoidsElement; } @@ -12177,9 +11800,9 @@ IfcRelationship::IfcRelationship(std::string v1_GlobalId, IfcOwnerHistory* v2_Ow // Function implementations for IfcRelaxation double IfcRelaxation::RelaxationValue() const { return *entity->getArgument(0); } -void IfcRelaxation::setRelaxationValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcRelaxation::RelaxationValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcRelaxation::InitialStress() const { return *entity->getArgument(1); } -void IfcRelaxation::setInitialStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRelaxation::InitialStress(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcRelaxation::is(Type::Enum v) const { return v == Type::IfcRelaxation; } Type::Enum IfcRelaxation::type() const { return Type::IfcRelaxation; } Type::Enum IfcRelaxation::Class() { return Type::IfcRelaxation; } @@ -12188,15 +11811,13 @@ IfcRelaxation::IfcRelaxation(double v1_RelaxationValue, double v2_InitialStress) // Function implementations for IfcRepresentation IfcRepresentationContext* IfcRepresentation::ContextOfItems() const { return (IfcRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcRepresentation::setContextOfItems(IfcRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRepresentation::hasRepresentationIdentifier() const { return !entity->getArgument(1)->isNull(); } -std::string IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } -void IfcRepresentation::setRepresentationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRepresentation::hasRepresentationType() const { return !entity->getArgument(2)->isNull(); } -std::string IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } -void IfcRepresentation::setRepresentationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRepresentation::ContextOfItems(IfcRepresentationContext* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } +void IfcRepresentation::RepresentationIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } +void IfcRepresentation::RepresentationType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcRepresentation::Items(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return entity->getInverse(Type::IfcRepresentationMap, 1)->as(); } IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return entity->getInverse(Type::IfcPresentationLayerAssignment, 2)->as(); } IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return entity->getInverse(Type::IfcProductRepresentation, 2)->as(); } @@ -12207,12 +11828,10 @@ IfcRepresentation::IfcRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEnt IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationContext -bool IfcRepresentationContext::hasContextIdentifier() const { return !entity->getArgument(0)->isNull(); } -std::string IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } -void IfcRepresentationContext::setContextIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRepresentationContext::hasContextType() const { return !entity->getArgument(1)->isNull(); } -std::string IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } -void IfcRepresentationContext::setContextType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } +void IfcRepresentationContext::ContextIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } +void IfcRepresentationContext::ContextType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return entity->getInverse(Type::IfcRepresentation, 0)->as(); } bool IfcRepresentationContext::is(Type::Enum v) const { return v == Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::type() const { return Type::IfcRepresentationContext; } @@ -12231,9 +11850,9 @@ IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() { IfcW // Function implementations for IfcRepresentationMap IfcAxis2Placement* IfcRepresentationMap::MappingOrigin() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcRepresentationMap::MappingOrigin(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRepresentationMap::MappedRepresentation(IfcRepresentation* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return entity->getInverse(Type::IfcMappedItem, 0)->as(); } bool IfcRepresentationMap::is(Type::Enum v) const { return v == Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::type() const { return Type::IfcRepresentationMap; } @@ -12251,9 +11870,9 @@ IfcResource::IfcResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcRevolvedAreaSolid IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcRevolvedAreaSolid::setAxis(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRevolvedAreaSolid::Axis(IfcAxis1Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } -void IfcRevolvedAreaSolid::setAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRevolvedAreaSolid::Angle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcRevolvedAreaSolid::is(Type::Enum v) const { return v == Type::IfcRevolvedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcRevolvedAreaSolid::type() const { return Type::IfcRevolvedAreaSolid; } Type::Enum IfcRevolvedAreaSolid::Class() { return Type::IfcRevolvedAreaSolid; } @@ -12261,31 +11880,27 @@ IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaS IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRibPlateProfileProperties -bool IfcRibPlateProfileProperties::hasThickness() const { return !entity->getArgument(2)->isNull(); } -double IfcRibPlateProfileProperties::Thickness() const { return *entity->getArgument(2); } -void IfcRibPlateProfileProperties::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRibPlateProfileProperties::hasRibHeight() const { return !entity->getArgument(3)->isNull(); } -double IfcRibPlateProfileProperties::RibHeight() const { return *entity->getArgument(3); } -void IfcRibPlateProfileProperties::setRibHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcRibPlateProfileProperties::hasRibWidth() const { return !entity->getArgument(4)->isNull(); } -double IfcRibPlateProfileProperties::RibWidth() const { return *entity->getArgument(4); } -void IfcRibPlateProfileProperties::setRibWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRibPlateProfileProperties::hasRibSpacing() const { return !entity->getArgument(5)->isNull(); } -double IfcRibPlateProfileProperties::RibSpacing() const { return *entity->getArgument(5); } -void IfcRibPlateProfileProperties::setRibSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< double > IfcRibPlateProfileProperties::Thickness() const { return *entity->getArgument(2); } +void IfcRibPlateProfileProperties::Thickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcRibPlateProfileProperties::RibHeight() const { return *entity->getArgument(3); } +void IfcRibPlateProfileProperties::RibHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcRibPlateProfileProperties::RibWidth() const { return *entity->getArgument(4); } +void IfcRibPlateProfileProperties::RibWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcRibPlateProfileProperties::RibSpacing() const { return *entity->getArgument(5); } +void IfcRibPlateProfileProperties::RibSpacing(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum IfcRibPlateProfileProperties::Direction() const { return IfcRibPlateDirectionEnum::FromString(*entity->getArgument(6)); } -void IfcRibPlateProfileProperties::setDirection(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcRibPlateDirectionEnum::ToString(v)); } +void IfcRibPlateProfileProperties::Direction(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcRibPlateDirectionEnum::ToString(v));; } bool IfcRibPlateProfileProperties::is(Type::Enum v) const { return v == Type::IfcRibPlateProfileProperties || IfcProfileProperties::is(v); } Type::Enum IfcRibPlateProfileProperties::type() const { return Type::IfcRibPlateProfileProperties; } Type::Enum IfcRibPlateProfileProperties::Class() { return Type::IfcRibPlateProfileProperties; } IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(IfcAbstractEntity* e) : IfcProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRibPlateProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_Thickness) { e->setArgument(2,(*v3_Thickness)); } else { e->setArgument(2); } if (v4_RibHeight) { e->setArgument(3,(*v4_RibHeight)); } else { e->setArgument(3); } if (v5_RibWidth) { e->setArgument(4,(*v5_RibWidth)); } else { e->setArgument(4); } if (v6_RibSpacing) { e->setArgument(5,(*v6_RibSpacing)); } else { e->setArgument(5); } e->setArgument(6,v7_Direction,IfcRibPlateDirectionEnum::ToString(v7_Direction)); entity = e; EntityBuffer::Add(this); } +IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } if (v2_ProfileDefinition) { e->setArgument(1,(*v2_ProfileDefinition)); } else { e->setArgument(1); } if (v3_Thickness) { e->setArgument(2,(*v3_Thickness)); } else { e->setArgument(2); } if (v4_RibHeight) { e->setArgument(3,(*v4_RibHeight)); } else { e->setArgument(3); } if (v5_RibWidth) { e->setArgument(4,(*v5_RibWidth)); } else { e->setArgument(4); } if (v6_RibSpacing) { e->setArgument(5,(*v6_RibSpacing)); } else { e->setArgument(5); } e->setArgument(6,v7_Direction,IfcRibPlateDirectionEnum::ToString(v7_Direction)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCone double IfcRightCircularCone::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCone::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRightCircularCone::Height(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } -void IfcRightCircularCone::setBottomRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRightCircularCone::BottomRadius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcRightCircularCone::is(Type::Enum v) const { return v == Type::IfcRightCircularCone || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCone::type() const { return Type::IfcRightCircularCone; } Type::Enum IfcRightCircularCone::Class() { return Type::IfcRightCircularCone; } @@ -12294,9 +11909,9 @@ IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, dou // Function implementations for IfcRightCircularCylinder double IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCylinder::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRightCircularCylinder::Height(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } -void IfcRightCircularCylinder::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRightCircularCylinder::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcRightCircularCylinder::is(Type::Enum v) const { return v == Type::IfcRightCircularCylinder || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCylinder::type() const { return Type::IfcRightCircularCylinder; } Type::Enum IfcRightCircularCylinder::Class() { return Type::IfcRightCircularCylinder; } @@ -12305,24 +11920,22 @@ IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Posit // Function implementations for IfcRoof IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoof::ShapeType() const { return IfcRoofTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRoof::setShapeType(IfcRoofTypeEnum::IfcRoofTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRoofTypeEnum::ToString(v)); } +void IfcRoof::ShapeType(IfcRoofTypeEnum::IfcRoofTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcRoofTypeEnum::ToString(v));; } bool IfcRoof::is(Type::Enum v) const { return v == Type::IfcRoof || IfcBuildingElement::is(v); } Type::Enum IfcRoof::type() const { return Type::IfcRoof; } Type::Enum IfcRoof::Class() { return Type::IfcRoof; } IfcRoof::IfcRoof(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoof::IfcRoof(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRoofTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } +IfcRoof::IfcRoof(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRoofTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoot std::string IfcRoot::GlobalId() const { return *entity->getArgument(0); } -void IfcRoot::setGlobalId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcRoot::GlobalId(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcOwnerHistory* IfcRoot::OwnerHistory() const { return (IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcRoot::setOwnerHistory(IfcOwnerHistory* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRoot::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcRoot::Name() const { return *entity->getArgument(2); } -void IfcRoot::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRoot::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcRoot::Description() const { return *entity->getArgument(3); } -void IfcRoot::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRoot::OwnerHistory(IfcOwnerHistory* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcRoot::Name() const { return *entity->getArgument(2); } +void IfcRoot::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcRoot::Description() const { return *entity->getArgument(3); } +void IfcRoot::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcRoot::is(Type::Enum v) const { return v == Type::IfcRoot; } Type::Enum IfcRoot::type() const { return Type::IfcRoot; } Type::Enum IfcRoot::Class() { return Type::IfcRoot; } @@ -12330,18 +11943,17 @@ IfcRoot::IfcRoot(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) retu IfcRoot::IfcRoot(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedEdgeFeature -bool IfcRoundedEdgeFeature::hasRadius() const { return !entity->getArgument(9)->isNull(); } -double IfcRoundedEdgeFeature::Radius() const { return *entity->getArgument(9); } -void IfcRoundedEdgeFeature::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcRoundedEdgeFeature::Radius() const { return *entity->getArgument(9); } +void IfcRoundedEdgeFeature::Radius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcRoundedEdgeFeature::is(Type::Enum v) const { return v == Type::IfcRoundedEdgeFeature || IfcEdgeFeature::is(v); } Type::Enum IfcRoundedEdgeFeature::type() const { return Type::IfcRoundedEdgeFeature; } Type::Enum IfcRoundedEdgeFeature::Class() { return Type::IfcRoundedEdgeFeature; } IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(IfcAbstractEntity* e) : IfcEdgeFeature((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Radius) { e->setArgument(9,(*v10_Radius)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Radius) { e->setArgument(9,(*v10_Radius)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedRectangleProfileDef double IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } -void IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRoundedRectangleProfileDef::RoundingRadius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRoundedRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRoundedRectangleProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRoundedRectangleProfileDef::type() const { return Type::IfcRoundedRectangleProfileDef; } Type::Enum IfcRoundedRectangleProfileDef::Class() { return Type::IfcRoundedRectangleProfileDef; } @@ -12349,11 +11961,10 @@ IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcAbstractEntity* IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSIUnit -bool IfcSIUnit::hasPrefix() const { return !entity->getArgument(2)->isNull(); } -IfcSIPrefix::IfcSIPrefix IfcSIUnit::Prefix() const { return IfcSIPrefix::FromString(*entity->getArgument(2)); } -void IfcSIUnit::setPrefix(IfcSIPrefix::IfcSIPrefix v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcSIPrefix::ToString(v)); } +boost::optional< IfcSIPrefix::IfcSIPrefix > IfcSIUnit::Prefix() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return IfcSIPrefix::FromString(*arg); } } +void IfcSIUnit::Prefix(boost::optional< IfcSIPrefix::IfcSIPrefix > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v,IfcSIPrefix::ToString(*v));; } else { w->setArgument(2); } } IfcSIUnitName::IfcSIUnitName IfcSIUnit::Name() const { return IfcSIUnitName::FromString(*entity->getArgument(3)); } -void IfcSIUnit::setName(IfcSIUnitName::IfcSIUnitName v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcSIUnitName::ToString(v)); } +void IfcSIUnit::Name(IfcSIUnitName::IfcSIUnitName v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v,IfcSIUnitName::ToString(v));; } bool IfcSIUnit::is(Type::Enum v) const { return v == Type::IfcSIUnit || IfcNamedUnit::is(v); } Type::Enum IfcSIUnit::type() const { return Type::IfcSIUnit; } Type::Enum IfcSIUnit::Class() { return Type::IfcSIUnit; } @@ -12362,7 +11973,7 @@ IfcSIUnit::IfcSIUnit(IfcUnitEnum::IfcUnitEnum v2_UnitType, boost::optional< IfcS // Function implementations for IfcSanitaryTerminalType IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminalType::PredefinedType() const { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSanitaryTerminalType::setPredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSanitaryTerminalTypeEnum::ToString(v)); } +void IfcSanitaryTerminalType::PredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSanitaryTerminalTypeEnum::ToString(v));; } bool IfcSanitaryTerminalType::is(Type::Enum v) const { return v == Type::IfcSanitaryTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcSanitaryTerminalType::type() const { return Type::IfcSanitaryTerminalType; } Type::Enum IfcSanitaryTerminalType::Class() { return Type::IfcSanitaryTerminalType; } @@ -12370,95 +11981,75 @@ IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcAbstractEntity* e) : IfcFlow IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcScheduleTimeControl -bool IfcScheduleTimeControl::hasActualStart() const { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::ActualStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcScheduleTimeControl::setActualStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcScheduleTimeControl::hasEarlyStart() const { return !entity->getArgument(6)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::EarlyStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcScheduleTimeControl::setEarlyStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcScheduleTimeControl::hasLateStart() const { return !entity->getArgument(7)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::LateStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcScheduleTimeControl::setLateStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcScheduleTimeControl::hasScheduleStart() const { return !entity->getArgument(8)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::ScheduleStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcScheduleTimeControl::setScheduleStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcScheduleTimeControl::hasActualFinish() const { return !entity->getArgument(9)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::ActualFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcScheduleTimeControl::setActualFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcScheduleTimeControl::hasEarlyFinish() const { return !entity->getArgument(10)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::EarlyFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcScheduleTimeControl::setEarlyFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcScheduleTimeControl::hasLateFinish() const { return !entity->getArgument(11)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::LateFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcScheduleTimeControl::setLateFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcScheduleTimeControl::hasScheduleFinish() const { return !entity->getArgument(12)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::ScheduleFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcScheduleTimeControl::setScheduleFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcScheduleTimeControl::hasScheduleDuration() const { return !entity->getArgument(13)->isNull(); } -double IfcScheduleTimeControl::ScheduleDuration() const { return *entity->getArgument(13); } -void IfcScheduleTimeControl::setScheduleDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcScheduleTimeControl::hasActualDuration() const { return !entity->getArgument(14)->isNull(); } -double IfcScheduleTimeControl::ActualDuration() const { return *entity->getArgument(14); } -void IfcScheduleTimeControl::setActualDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcScheduleTimeControl::hasRemainingTime() const { return !entity->getArgument(15)->isNull(); } -double IfcScheduleTimeControl::RemainingTime() const { return *entity->getArgument(15); } -void IfcScheduleTimeControl::setRemainingTime(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcScheduleTimeControl::hasFreeFloat() const { return !entity->getArgument(16)->isNull(); } -double IfcScheduleTimeControl::FreeFloat() const { return *entity->getArgument(16); } -void IfcScheduleTimeControl::setFreeFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcScheduleTimeControl::hasTotalFloat() const { return !entity->getArgument(17)->isNull(); } -double IfcScheduleTimeControl::TotalFloat() const { return *entity->getArgument(17); } -void IfcScheduleTimeControl::setTotalFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcScheduleTimeControl::hasIsCritical() const { return !entity->getArgument(18)->isNull(); } -bool IfcScheduleTimeControl::IsCritical() const { return *entity->getArgument(18); } -void IfcScheduleTimeControl::setIsCritical(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcScheduleTimeControl::hasStatusTime() const { return !entity->getArgument(19)->isNull(); } -IfcDateTimeSelect* IfcScheduleTimeControl::StatusTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(19))); } -void IfcScheduleTimeControl::setStatusTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } -bool IfcScheduleTimeControl::hasStartFloat() const { return !entity->getArgument(20)->isNull(); } -double IfcScheduleTimeControl::StartFloat() const { return *entity->getArgument(20); } -void IfcScheduleTimeControl::setStartFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } -bool IfcScheduleTimeControl::hasFinishFloat() const { return !entity->getArgument(21)->isNull(); } -double IfcScheduleTimeControl::FinishFloat() const { return *entity->getArgument(21); } -void IfcScheduleTimeControl::setFinishFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } -bool IfcScheduleTimeControl::hasCompletion() const { return !entity->getArgument(22)->isNull(); } -double IfcScheduleTimeControl::Completion() const { return *entity->getArgument(22); } -void IfcScheduleTimeControl::setCompletion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::ActualStart() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::ActualStart(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::EarlyStart() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::EarlyStart(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::LateStart() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::LateStart(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::ScheduleStart() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::ScheduleStart(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::ActualFinish() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::ActualFinish(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::EarlyFinish() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::EarlyFinish(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::LateFinish() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::LateFinish(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::ScheduleFinish() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::ScheduleFinish(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcScheduleTimeControl::ScheduleDuration() const { return *entity->getArgument(13); } +void IfcScheduleTimeControl::ScheduleDuration(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcScheduleTimeControl::ActualDuration() const { return *entity->getArgument(14); } +void IfcScheduleTimeControl::ActualDuration(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcScheduleTimeControl::RemainingTime() const { return *entity->getArgument(15); } +void IfcScheduleTimeControl::RemainingTime(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcScheduleTimeControl::FreeFloat() const { return *entity->getArgument(16); } +void IfcScheduleTimeControl::FreeFloat(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< double > IfcScheduleTimeControl::TotalFloat() const { return *entity->getArgument(17); } +void IfcScheduleTimeControl::TotalFloat(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v); } else { w->setArgument(17); } } +boost::optional< bool > IfcScheduleTimeControl::IsCritical() const { return *entity->getArgument(18); } +void IfcScheduleTimeControl::IsCritical(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(18,*v); } else { w->setArgument(18); } } +boost::optional< IfcDateTimeSelect* > IfcScheduleTimeControl::StatusTime() const { Argument* arg = entity->getArgument(19); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcScheduleTimeControl::StatusTime(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(19,*v); } else { w->setArgument(19); } } +boost::optional< double > IfcScheduleTimeControl::StartFloat() const { return *entity->getArgument(20); } +void IfcScheduleTimeControl::StartFloat(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(20,*v); } else { w->setArgument(20); } } +boost::optional< double > IfcScheduleTimeControl::FinishFloat() const { return *entity->getArgument(21); } +void IfcScheduleTimeControl::FinishFloat(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(21,*v); } else { w->setArgument(21); } } +boost::optional< double > IfcScheduleTimeControl::Completion() const { return *entity->getArgument(22); } +void IfcScheduleTimeControl::Completion(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(22,*v); } else { w->setArgument(22); } } IfcRelAssignsTasks::list::ptr IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return entity->getInverse(Type::IfcRelAssignsTasks, 7)->as(); } bool IfcScheduleTimeControl::is(Type::Enum v) const { return v == Type::IfcScheduleTimeControl || IfcControl::is(v); } Type::Enum IfcScheduleTimeControl::type() const { return Type::IfcScheduleTimeControl; } Type::Enum IfcScheduleTimeControl::Class() { return Type::IfcScheduleTimeControl; } IfcScheduleTimeControl::IfcScheduleTimeControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcScheduleTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcScheduleTimeControl::IfcScheduleTimeControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcDateTimeSelect* v6_ActualStart, IfcDateTimeSelect* v7_EarlyStart, IfcDateTimeSelect* v8_LateStart, IfcDateTimeSelect* v9_ScheduleStart, IfcDateTimeSelect* v10_ActualFinish, IfcDateTimeSelect* v11_EarlyFinish, IfcDateTimeSelect* v12_LateFinish, IfcDateTimeSelect* v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, IfcDateTimeSelect* v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ActualStart)); e->setArgument(6,(v7_EarlyStart)); e->setArgument(7,(v8_LateStart)); e->setArgument(8,(v9_ScheduleStart)); e->setArgument(9,(v10_ActualFinish)); e->setArgument(10,(v11_EarlyFinish)); e->setArgument(11,(v12_LateFinish)); e->setArgument(12,(v13_ScheduleFinish)); if (v14_ScheduleDuration) { e->setArgument(13,(*v14_ScheduleDuration)); } else { e->setArgument(13); } if (v15_ActualDuration) { e->setArgument(14,(*v15_ActualDuration)); } else { e->setArgument(14); } if (v16_RemainingTime) { e->setArgument(15,(*v16_RemainingTime)); } else { e->setArgument(15); } if (v17_FreeFloat) { e->setArgument(16,(*v17_FreeFloat)); } else { e->setArgument(16); } if (v18_TotalFloat) { e->setArgument(17,(*v18_TotalFloat)); } else { e->setArgument(17); } if (v19_IsCritical) { e->setArgument(18,(*v19_IsCritical)); } else { e->setArgument(18); } e->setArgument(19,(v20_StatusTime)); if (v21_StartFloat) { e->setArgument(20,(*v21_StartFloat)); } else { e->setArgument(20); } if (v22_FinishFloat) { e->setArgument(21,(*v22_FinishFloat)); } else { e->setArgument(21); } if (v23_Completion) { e->setArgument(22,(*v23_Completion)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } +IfcScheduleTimeControl::IfcScheduleTimeControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcDateTimeSelect* > v6_ActualStart, boost::optional< IfcDateTimeSelect* > v7_EarlyStart, boost::optional< IfcDateTimeSelect* > v8_LateStart, boost::optional< IfcDateTimeSelect* > v9_ScheduleStart, boost::optional< IfcDateTimeSelect* > v10_ActualFinish, boost::optional< IfcDateTimeSelect* > v11_EarlyFinish, boost::optional< IfcDateTimeSelect* > v12_LateFinish, boost::optional< IfcDateTimeSelect* > v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect* > v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ActualStart) { e->setArgument(5,(*v6_ActualStart)); } else { e->setArgument(5); } if (v7_EarlyStart) { e->setArgument(6,(*v7_EarlyStart)); } else { e->setArgument(6); } if (v8_LateStart) { e->setArgument(7,(*v8_LateStart)); } else { e->setArgument(7); } if (v9_ScheduleStart) { e->setArgument(8,(*v9_ScheduleStart)); } else { e->setArgument(8); } if (v10_ActualFinish) { e->setArgument(9,(*v10_ActualFinish)); } else { e->setArgument(9); } if (v11_EarlyFinish) { e->setArgument(10,(*v11_EarlyFinish)); } else { e->setArgument(10); } if (v12_LateFinish) { e->setArgument(11,(*v12_LateFinish)); } else { e->setArgument(11); } if (v13_ScheduleFinish) { e->setArgument(12,(*v13_ScheduleFinish)); } else { e->setArgument(12); } if (v14_ScheduleDuration) { e->setArgument(13,(*v14_ScheduleDuration)); } else { e->setArgument(13); } if (v15_ActualDuration) { e->setArgument(14,(*v15_ActualDuration)); } else { e->setArgument(14); } if (v16_RemainingTime) { e->setArgument(15,(*v16_RemainingTime)); } else { e->setArgument(15); } if (v17_FreeFloat) { e->setArgument(16,(*v17_FreeFloat)); } else { e->setArgument(16); } if (v18_TotalFloat) { e->setArgument(17,(*v18_TotalFloat)); } else { e->setArgument(17); } if (v19_IsCritical) { e->setArgument(18,(*v19_IsCritical)); } else { e->setArgument(18); } if (v20_StatusTime) { e->setArgument(19,(*v20_StatusTime)); } else { e->setArgument(19); } if (v21_StartFloat) { e->setArgument(20,(*v21_StartFloat)); } else { e->setArgument(20); } if (v22_FinishFloat) { e->setArgument(21,(*v22_FinishFloat)); } else { e->setArgument(21); } if (v23_Completion) { e->setArgument(22,(*v23_Completion)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionProperties IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() const { return IfcSectionTypeEnum::FromString(*entity->getArgument(0)); } -void IfcSectionProperties::setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcSectionTypeEnum::ToString(v)); } +void IfcSectionProperties::SectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcSectionTypeEnum::ToString(v));; } IfcProfileDef* IfcSectionProperties::StartProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSectionProperties::setStartProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSectionProperties::hasEndProfile() const { return !entity->getArgument(2)->isNull(); } -IfcProfileDef* IfcSectionProperties::EndProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSectionProperties::setEndProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSectionProperties::StartProfile(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcProfileDef* > IfcSectionProperties::EndProfile() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSectionProperties::EndProfile(boost::optional< IfcProfileDef* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcSectionProperties::is(Type::Enum v) const { return v == Type::IfcSectionProperties; } Type::Enum IfcSectionProperties::type() const { return Type::IfcSectionProperties; } Type::Enum IfcSectionProperties::Class() { return Type::IfcSectionProperties; } IfcSectionProperties::IfcSectionProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSectionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionProperties::IfcSectionProperties(IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_SectionType,IfcSectionTypeEnum::ToString(v1_SectionType)); e->setArgument(1,(v2_StartProfile)); e->setArgument(2,(v3_EndProfile)); entity = e; EntityBuffer::Add(this); } +IfcSectionProperties::IfcSectionProperties(IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, boost::optional< IfcProfileDef* > v3_EndProfile) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_SectionType,IfcSectionTypeEnum::ToString(v1_SectionType)); e->setArgument(1,(v2_StartProfile)); if (v3_EndProfile) { e->setArgument(2,(*v3_EndProfile)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionReinforcementProperties double IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } -void IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSectionReinforcementProperties::LongitudinalStartPosition(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } -void IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSectionReinforcementProperties::hasTransversePosition() const { return !entity->getArgument(2)->isNull(); } -double IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } -void IfcSectionReinforcementProperties::setTransversePosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSectionReinforcementProperties::LongitudinalEndPosition(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< double > IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } +void IfcSectionReinforcementProperties::TransversePosition(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } -void IfcSectionReinforcementProperties::setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v)); } +void IfcSectionReinforcementProperties::ReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v));; } IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() const { return (IfcSectionProperties*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcSectionReinforcementProperties::setSectionDefinition(IfcSectionProperties* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSectionReinforcementProperties::SectionDefinition(IfcSectionProperties* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcSectionReinforcementProperties::is(Type::Enum v) const { return v == Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::type() const { return Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::Class() { return Type::IfcSectionReinforcementProperties; } @@ -12467,11 +12058,11 @@ IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_L // Function implementations for IfcSectionedSpine IfcCompositeCurve* IfcSectionedSpine::SpineCurve() const { return (IfcCompositeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSectionedSpine::setSpineCurve(IfcCompositeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSectionedSpine::SpineCurve(IfcCompositeCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcProfileDef >::ptr IfcSectionedSpine::CrossSections() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcSectionedSpine::setCrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcSectionedSpine::CrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr IfcSectionedSpine::CrossSectionPositions() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcSectionedSpine::setCrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcSectionedSpine::CrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcSectionedSpine::is(Type::Enum v) const { return v == Type::IfcSectionedSpine || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSectionedSpine::type() const { return Type::IfcSectionedSpine; } Type::Enum IfcSectionedSpine::Class() { return Type::IfcSectionedSpine; } @@ -12480,7 +12071,7 @@ IfcSectionedSpine::IfcSectionedSpine(IfcCompositeCurve* v1_SpineCurve, IfcTempla // Function implementations for IfcSensorType IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorType::PredefinedType() const { return IfcSensorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSensorType::setPredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSensorTypeEnum::ToString(v)); } +void IfcSensorType::PredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSensorTypeEnum::ToString(v));; } bool IfcSensorType::is(Type::Enum v) const { return v == Type::IfcSensorType || IfcDistributionControlElementType::is(v); } Type::Enum IfcSensorType::type() const { return Type::IfcSensorType; } Type::Enum IfcSensorType::Class() { return Type::IfcSensorType; } @@ -12489,9 +12080,9 @@ IfcSensorType::IfcSensorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerH // Function implementations for IfcServiceLife IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum IfcServiceLife::ServiceLifeType() const { return IfcServiceLifeTypeEnum::FromString(*entity->getArgument(5)); } -void IfcServiceLife::setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcServiceLifeTypeEnum::ToString(v)); } +void IfcServiceLife::ServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcServiceLifeTypeEnum::ToString(v));; } double IfcServiceLife::ServiceLifeDuration() const { return *entity->getArgument(6); } -void IfcServiceLife::setServiceLifeDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcServiceLife::ServiceLifeDuration(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcServiceLife::is(Type::Enum v) const { return v == Type::IfcServiceLife || IfcControl::is(v); } Type::Enum IfcServiceLife::type() const { return Type::IfcServiceLife; } Type::Enum IfcServiceLife::Class() { return Type::IfcServiceLife; } @@ -12500,34 +12091,30 @@ IfcServiceLife::IfcServiceLife(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcServiceLifeFactor IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum IfcServiceLifeFactor::PredefinedType() const { return IfcServiceLifeFactorTypeEnum::FromString(*entity->getArgument(4)); } -void IfcServiceLifeFactor::setPredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcServiceLifeFactorTypeEnum::ToString(v)); } -bool IfcServiceLifeFactor::hasUpperValue() const { return !entity->getArgument(5)->isNull(); } -IfcMeasureValue* IfcServiceLifeFactor::UpperValue() const { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcServiceLifeFactor::setUpperValue(IfcMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcServiceLifeFactor::PredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcServiceLifeFactorTypeEnum::ToString(v));; } +boost::optional< IfcMeasureValue* > IfcServiceLifeFactor::UpperValue() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcServiceLifeFactor::UpperValue(boost::optional< IfcMeasureValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcMeasureValue* IfcServiceLifeFactor::MostUsedValue() const { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcServiceLifeFactor::setMostUsedValue(IfcMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcServiceLifeFactor::hasLowerValue() const { return !entity->getArgument(7)->isNull(); } -IfcMeasureValue* IfcServiceLifeFactor::LowerValue() const { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcServiceLifeFactor::setLowerValue(IfcMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcServiceLifeFactor::MostUsedValue(IfcMeasureValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcMeasureValue* > IfcServiceLifeFactor::LowerValue() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcServiceLifeFactor::LowerValue(boost::optional< IfcMeasureValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcServiceLifeFactor::is(Type::Enum v) const { return v == Type::IfcServiceLifeFactor || IfcPropertySetDefinition::is(v); } Type::Enum IfcServiceLifeFactor::type() const { return Type::IfcServiceLifeFactor; } Type::Enum IfcServiceLifeFactor::Class() { return Type::IfcServiceLifeFactor; } IfcServiceLifeFactor::IfcServiceLifeFactor(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcServiceLifeFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcServiceLifeFactor::IfcServiceLifeFactor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, IfcMeasureValue* v6_UpperValue, IfcMeasureValue* v7_MostUsedValue, IfcMeasureValue* v8_LowerValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PredefinedType,IfcServiceLifeFactorTypeEnum::ToString(v5_PredefinedType)); e->setArgument(5,(v6_UpperValue)); e->setArgument(6,(v7_MostUsedValue)); e->setArgument(7,(v8_LowerValue)); entity = e; EntityBuffer::Add(this); } +IfcServiceLifeFactor::IfcServiceLifeFactor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue* > v6_UpperValue, IfcMeasureValue* v7_MostUsedValue, boost::optional< IfcMeasureValue* > v8_LowerValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PredefinedType,IfcServiceLifeFactorTypeEnum::ToString(v5_PredefinedType)); if (v6_UpperValue) { e->setArgument(5,(*v6_UpperValue)); } else { e->setArgument(5); } e->setArgument(6,(v7_MostUsedValue)); if (v8_LowerValue) { e->setArgument(7,(*v8_LowerValue)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeAspect IfcTemplatedEntityList< IfcShapeModel >::ptr IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcShapeAspect::hasName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcShapeAspect::Name() const { return *entity->getArgument(1); } -void IfcShapeAspect::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcShapeAspect::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcShapeAspect::Description() const { return *entity->getArgument(2); } -void IfcShapeAspect::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcShapeAspect::ShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } +boost::optional< std::string > IfcShapeAspect::Name() const { return *entity->getArgument(1); } +void IfcShapeAspect::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcShapeAspect::Description() const { return *entity->getArgument(2); } +void IfcShapeAspect::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcShapeAspect::ProductDefinitional() const { return *entity->getArgument(3); } -void IfcShapeAspect::setProductDefinitional(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcShapeAspect::ProductDefinitional(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcProductDefinitionShape* IfcShapeAspect::PartOfProductDefinitionShape() const { return (IfcProductDefinitionShape*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcShapeAspect::setPartOfProductDefinitionShape(IfcProductDefinitionShape* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcShapeAspect::PartOfProductDefinitionShape(IfcProductDefinitionShape* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcShapeAspect::is(Type::Enum v) const { return v == Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::type() const { return Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::Class() { return Type::IfcShapeAspect; } @@ -12551,7 +12138,7 @@ IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_Cont // Function implementations for IfcShellBasedSurfaceModel IfcEntityList::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { return *entity->getArgument(0); } -void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcShellBasedSurfaceModel::SbsmBoundary(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcShellBasedSurfaceModel::is(Type::Enum v) const { return v == Type::IfcShellBasedSurfaceModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcShellBasedSurfaceModel::type() const { return Type::IfcShellBasedSurfaceModel; } Type::Enum IfcShellBasedSurfaceModel::Class() { return Type::IfcShellBasedSurfaceModel; } @@ -12566,40 +12153,34 @@ IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbs IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSite -bool IfcSite::hasRefLatitude() const { return !entity->getArgument(9)->isNull(); } -std::vector< int > /*[3:4]*/ IfcSite::RefLatitude() const { return *entity->getArgument(9); } -void IfcSite::setRefLatitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSite::hasRefLongitude() const { return !entity->getArgument(10)->isNull(); } -std::vector< int > /*[3:4]*/ IfcSite::RefLongitude() const { return *entity->getArgument(10); } -void IfcSite::setRefLongitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSite::hasRefElevation() const { return !entity->getArgument(11)->isNull(); } -double IfcSite::RefElevation() const { return *entity->getArgument(11); } -void IfcSite::setRefElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcSite::hasLandTitleNumber() const { return !entity->getArgument(12)->isNull(); } -std::string IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } -void IfcSite::setLandTitleNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcSite::hasSiteAddress() const { return !entity->getArgument(13)->isNull(); } -IfcPostalAddress* IfcSite::SiteAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } -void IfcSite::setSiteAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +boost::optional< std::vector< int > /*[3:4]*/ > IfcSite::RefLatitude() const { return *entity->getArgument(9); } +void IfcSite::RefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::vector< int > /*[3:4]*/ > IfcSite::RefLongitude() const { return *entity->getArgument(10); } +void IfcSite::RefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcSite::RefElevation() const { return *entity->getArgument(11); } +void IfcSite::RefElevation(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } +void IfcSite::LandTitleNumber(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcPostalAddress* > IfcSite::SiteAddress() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSite::SiteAddress(boost::optional< IfcPostalAddress* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } bool IfcSite::is(Type::Enum v) const { return v == Type::IfcSite || IfcSpatialStructureElement::is(v); } Type::Enum IfcSite::type() const { return Type::IfcSite; } Type::Enum IfcSite::Class() { return Type::IfcSite; } IfcSite::IfcSite(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSite::IfcSite(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } +IfcSite::IfcSite(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, boost::optional< IfcPostalAddress* > v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } if (v14_SiteAddress) { e->setArgument(13,(*v14_SiteAddress)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlab -bool IfcSlab::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlab::PredefinedType() const { return IfcSlabTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSlab::setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSlabTypeEnum::ToString(v)); } +boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > IfcSlab::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSlabTypeEnum::FromString(*arg); } } +void IfcSlab::PredefinedType(boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSlabTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSlab::is(Type::Enum v) const { return v == Type::IfcSlab || IfcBuildingElement::is(v); } Type::Enum IfcSlab::type() const { return Type::IfcSlab; } Type::Enum IfcSlab::Class() { return Type::IfcSlab; } IfcSlab::IfcSlab(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlab::IfcSlab(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlab::IfcSlab(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabType IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabType::PredefinedType() const { return IfcSlabTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSlabType::setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSlabTypeEnum::ToString(v)); } +void IfcSlabType::PredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSlabTypeEnum::ToString(v));; } bool IfcSlabType::is(Type::Enum v) const { return v == Type::IfcSlabType || IfcBuildingElementType::is(v); } Type::Enum IfcSlabType::type() const { return Type::IfcSlabType; } Type::Enum IfcSlabType::Class() { return Type::IfcSlabType; } @@ -12607,15 +12188,12 @@ IfcSlabType::IfcSlabType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbst IfcSlabType::IfcSlabType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlippageConnectionCondition -bool IfcSlippageConnectionCondition::hasSlippageX() const { return !entity->getArgument(1)->isNull(); } -double IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } -void IfcSlippageConnectionCondition::setSlippageX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSlippageConnectionCondition::hasSlippageY() const { return !entity->getArgument(2)->isNull(); } -double IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } -void IfcSlippageConnectionCondition::setSlippageY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSlippageConnectionCondition::hasSlippageZ() const { return !entity->getArgument(3)->isNull(); } -double IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } -void IfcSlippageConnectionCondition::setSlippageZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } +void IfcSlippageConnectionCondition::SlippageX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } +void IfcSlippageConnectionCondition::SlippageY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } +void IfcSlippageConnectionCondition::SlippageZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcSlippageConnectionCondition::is(Type::Enum v) const { return v == Type::IfcSlippageConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcSlippageConnectionCondition::type() const { return Type::IfcSlippageConnectionCondition; } Type::Enum IfcSlippageConnectionCondition::Class() { return Type::IfcSlippageConnectionCondition; } @@ -12631,12 +12209,11 @@ IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEnti // Function implementations for IfcSoundProperties bool IfcSoundProperties::IsAttenuating() const { return *entity->getArgument(4); } -void IfcSoundProperties::setIsAttenuating(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcSoundProperties::hasSoundScale() const { return !entity->getArgument(5)->isNull(); } -IfcSoundScaleEnum::IfcSoundScaleEnum IfcSoundProperties::SoundScale() const { return IfcSoundScaleEnum::FromString(*entity->getArgument(5)); } -void IfcSoundProperties::setSoundScale(IfcSoundScaleEnum::IfcSoundScaleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcSoundScaleEnum::ToString(v)); } +void IfcSoundProperties::IsAttenuating(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > IfcSoundProperties::SoundScale() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return IfcSoundScaleEnum::FromString(*arg); } } +void IfcSoundProperties::SoundScale(boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v,IfcSoundScaleEnum::ToString(*v));; } else { w->setArgument(5); } } IfcTemplatedEntityList< IfcSoundValue >::ptr IfcSoundProperties::SoundValues() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcSoundProperties::setSoundValues(IfcTemplatedEntityList< IfcSoundValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +void IfcSoundProperties::SoundValues(IfcTemplatedEntityList< IfcSoundValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v->generalize());; } bool IfcSoundProperties::is(Type::Enum v) const { return v == Type::IfcSoundProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcSoundProperties::type() const { return Type::IfcSoundProperties; } Type::Enum IfcSoundProperties::Class() { return Type::IfcSoundProperties; } @@ -12644,37 +12221,34 @@ IfcSoundProperties::IfcSoundProperties(IfcAbstractEntity* e) : IfcPropertySetDef IfcSoundProperties::IfcSoundProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, bool v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_IsAttenuating)); if (v6_SoundScale) { e->setArgument(5,*v6_SoundScale,IfcSoundScaleEnum::ToString(*v6_SoundScale)); } else { e->setArgument(5); } e->setArgument(6,(v7_SoundValues)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSoundValue -bool IfcSoundValue::hasSoundLevelTimeSeries() const { return !entity->getArgument(4)->isNull(); } -IfcTimeSeries* IfcSoundValue::SoundLevelTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcSoundValue::setSoundLevelTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcTimeSeries* > IfcSoundValue::SoundLevelTimeSeries() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSoundValue::SoundLevelTimeSeries(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } double IfcSoundValue::Frequency() const { return *entity->getArgument(5); } -void IfcSoundValue::setFrequency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSoundValue::hasSoundLevelSingleValue() const { return !entity->getArgument(6)->isNull(); } -IfcDerivedMeasureValue* IfcSoundValue::SoundLevelSingleValue() const { return (IfcDerivedMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcSoundValue::setSoundLevelSingleValue(IfcDerivedMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcSoundValue::Frequency(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcDerivedMeasureValue* > IfcSoundValue::SoundLevelSingleValue() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcDerivedMeasureValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSoundValue::SoundLevelSingleValue(boost::optional< IfcDerivedMeasureValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcSoundValue::is(Type::Enum v) const { return v == Type::IfcSoundValue || IfcPropertySetDefinition::is(v); } Type::Enum IfcSoundValue::type() const { return Type::IfcSoundValue; } Type::Enum IfcSoundValue::Class() { return Type::IfcSoundValue; } IfcSoundValue::IfcSoundValue(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSoundValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSoundValue::IfcSoundValue(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, double v6_Frequency, IfcDerivedMeasureValue* v7_SoundLevelSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_SoundLevelTimeSeries)); e->setArgument(5,(v6_Frequency)); e->setArgument(6,(v7_SoundLevelSingleValue)); entity = e; EntityBuffer::Add(this); } +IfcSoundValue::IfcSoundValue(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcTimeSeries* > v5_SoundLevelTimeSeries, double v6_Frequency, boost::optional< IfcDerivedMeasureValue* > v7_SoundLevelSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_SoundLevelTimeSeries) { e->setArgument(4,(*v5_SoundLevelTimeSeries)); } else { e->setArgument(4); } e->setArgument(5,(v6_Frequency)); if (v7_SoundLevelSingleValue) { e->setArgument(6,(*v7_SoundLevelSingleValue)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpace IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcSpace::InteriorOrExteriorSpace() const { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(9)); } -void IfcSpace::setInteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcInternalOrExternalEnum::ToString(v)); } -bool IfcSpace::hasElevationWithFlooring() const { return !entity->getArgument(10)->isNull(); } -double IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } -void IfcSpace::setElevationWithFlooring(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcSpace::InteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcInternalOrExternalEnum::ToString(v));; } +boost::optional< double > IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } +void IfcSpace::ElevationWithFlooring(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversSpaces, 4)->as(); } IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary, 4)->as(); } bool IfcSpace::is(Type::Enum v) const { return v == Type::IfcSpace || IfcSpatialStructureElement::is(v); } Type::Enum IfcSpace::type() const { return Type::IfcSpace; } Type::Enum IfcSpace::Class() { return Type::IfcSpace; } IfcSpace::IfcSpace(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpace::IfcSpace(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); e->setArgument(9,v10_InteriorOrExteriorSpace,IfcInternalOrExternalEnum::ToString(v10_InteriorOrExteriorSpace)); if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpace::IfcSpace(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); e->setArgument(9,v10_InteriorOrExteriorSpace,IfcInternalOrExternalEnum::ToString(v10_InteriorOrExteriorSpace)); if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeaterType IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterType::PredefinedType() const { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSpaceHeaterType::setPredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceHeaterTypeEnum::ToString(v)); } +void IfcSpaceHeaterType::PredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSpaceHeaterTypeEnum::ToString(v));; } bool IfcSpaceHeaterType::is(Type::Enum v) const { return v == Type::IfcSpaceHeaterType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcSpaceHeaterType::type() const { return Type::IfcSpaceHeaterType; } Type::Enum IfcSpaceHeaterType::Class() { return Type::IfcSpaceHeaterType; } @@ -12683,62 +12257,53 @@ IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcSpaceProgram std::string IfcSpaceProgram::SpaceProgramIdentifier() const { return *entity->getArgument(5); } -void IfcSpaceProgram::setSpaceProgramIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSpaceProgram::hasMaxRequiredArea() const { return !entity->getArgument(6)->isNull(); } -double IfcSpaceProgram::MaxRequiredArea() const { return *entity->getArgument(6); } -void IfcSpaceProgram::setMaxRequiredArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSpaceProgram::hasMinRequiredArea() const { return !entity->getArgument(7)->isNull(); } -double IfcSpaceProgram::MinRequiredArea() const { return *entity->getArgument(7); } -void IfcSpaceProgram::setMinRequiredArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcSpaceProgram::hasRequestedLocation() const { return !entity->getArgument(8)->isNull(); } -IfcSpatialStructureElement* IfcSpaceProgram::RequestedLocation() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcSpaceProgram::setRequestedLocation(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcSpaceProgram::SpaceProgramIdentifier(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< double > IfcSpaceProgram::MaxRequiredArea() const { return *entity->getArgument(6); } +void IfcSpaceProgram::MaxRequiredArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcSpaceProgram::MinRequiredArea() const { return *entity->getArgument(7); } +void IfcSpaceProgram::MinRequiredArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcSpatialStructureElement* > IfcSpaceProgram::RequestedLocation() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSpaceProgram::RequestedLocation(boost::optional< IfcSpatialStructureElement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } double IfcSpaceProgram::StandardRequiredArea() const { return *entity->getArgument(9); } -void IfcSpaceProgram::setStandardRequiredArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcSpaceProgram::StandardRequiredArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsFrom() const { return entity->getInverse(Type::IfcRelInteractionRequirements, 7)->as(); } IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsTo() const { return entity->getInverse(Type::IfcRelInteractionRequirements, 8)->as(); } bool IfcSpaceProgram::is(Type::Enum v) const { return v == Type::IfcSpaceProgram || IfcControl::is(v); } Type::Enum IfcSpaceProgram::type() const { return Type::IfcSpaceProgram; } Type::Enum IfcSpaceProgram::Class() { return Type::IfcSpaceProgram; } IfcSpaceProgram::IfcSpaceProgram(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceProgram)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceProgram::IfcSpaceProgram(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, double v10_StandardRequiredArea) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) { e->setArgument(6,(*v7_MaxRequiredArea)); } else { e->setArgument(6); } if (v8_MinRequiredArea) { e->setArgument(7,(*v8_MinRequiredArea)); } else { e->setArgument(7); } e->setArgument(8,(v9_RequestedLocation)); e->setArgument(9,(v10_StandardRequiredArea)); entity = e; EntityBuffer::Add(this); } +IfcSpaceProgram::IfcSpaceProgram(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, boost::optional< IfcSpatialStructureElement* > v9_RequestedLocation, double v10_StandardRequiredArea) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) { e->setArgument(6,(*v7_MaxRequiredArea)); } else { e->setArgument(6); } if (v8_MinRequiredArea) { e->setArgument(7,(*v8_MinRequiredArea)); } else { e->setArgument(7); } if (v9_RequestedLocation) { e->setArgument(8,(*v9_RequestedLocation)); } else { e->setArgument(8); } e->setArgument(9,(v10_StandardRequiredArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceThermalLoadProperties -bool IfcSpaceThermalLoadProperties::hasApplicableValueRatio() const { return !entity->getArgument(4)->isNull(); } -double IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { return *entity->getArgument(4); } -void IfcSpaceThermalLoadProperties::setApplicableValueRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { return *entity->getArgument(4); } +void IfcSpaceThermalLoadProperties::ApplicableValueRatio(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum IfcSpaceThermalLoadProperties::ThermalLoadSource() const { return IfcThermalLoadSourceEnum::FromString(*entity->getArgument(5)); } -void IfcSpaceThermalLoadProperties::setThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcThermalLoadSourceEnum::ToString(v)); } +void IfcSpaceThermalLoadProperties::ThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcThermalLoadSourceEnum::ToString(v));; } IfcPropertySourceEnum::IfcPropertySourceEnum IfcSpaceThermalLoadProperties::PropertySource() const { return IfcPropertySourceEnum::FromString(*entity->getArgument(6)); } -void IfcSpaceThermalLoadProperties::setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcPropertySourceEnum::ToString(v)); } -bool IfcSpaceThermalLoadProperties::hasSourceDescription() const { return !entity->getArgument(7)->isNull(); } -std::string IfcSpaceThermalLoadProperties::SourceDescription() const { return *entity->getArgument(7); } -void IfcSpaceThermalLoadProperties::setSourceDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcSpaceThermalLoadProperties::PropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcPropertySourceEnum::ToString(v));; } +boost::optional< std::string > IfcSpaceThermalLoadProperties::SourceDescription() const { return *entity->getArgument(7); } +void IfcSpaceThermalLoadProperties::SourceDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } double IfcSpaceThermalLoadProperties::MaximumValue() const { return *entity->getArgument(8); } -void IfcSpaceThermalLoadProperties::setMaximumValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcSpaceThermalLoadProperties::hasMinimumValue() const { return !entity->getArgument(9)->isNull(); } -double IfcSpaceThermalLoadProperties::MinimumValue() const { return *entity->getArgument(9); } -void IfcSpaceThermalLoadProperties::setMinimumValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSpaceThermalLoadProperties::hasThermalLoadTimeSeriesValues() const { return !entity->getArgument(10)->isNull(); } -IfcTimeSeries* IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcSpaceThermalLoadProperties::setThermalLoadTimeSeriesValues(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSpaceThermalLoadProperties::hasUserDefinedThermalLoadSource() const { return !entity->getArgument(11)->isNull(); } -std::string IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { return *entity->getArgument(11); } -void IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcSpaceThermalLoadProperties::hasUserDefinedPropertySource() const { return !entity->getArgument(12)->isNull(); } -std::string IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { return *entity->getArgument(12); } -void IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcSpaceThermalLoadProperties::MaximumValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< double > IfcSpaceThermalLoadProperties::MinimumValue() const { return *entity->getArgument(9); } +void IfcSpaceThermalLoadProperties::MinimumValue(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcTimeSeries* > IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues(boost::optional< IfcTimeSeries* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< std::string > IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { return *entity->getArgument(11); } +void IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { return *entity->getArgument(12); } +void IfcSpaceThermalLoadProperties::UserDefinedPropertySource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum IfcSpaceThermalLoadProperties::ThermalLoadType() const { return IfcThermalLoadTypeEnum::FromString(*entity->getArgument(13)); } -void IfcSpaceThermalLoadProperties::setThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcThermalLoadTypeEnum::ToString(v)); } +void IfcSpaceThermalLoadProperties::ThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v,IfcThermalLoadTypeEnum::ToString(v));; } bool IfcSpaceThermalLoadProperties::is(Type::Enum v) const { return v == Type::IfcSpaceThermalLoadProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcSpaceThermalLoadProperties::type() const { return Type::IfcSpaceThermalLoadProperties; } Type::Enum IfcSpaceThermalLoadProperties::Class() { return Type::IfcSpaceThermalLoadProperties; } IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceThermalLoadProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableValueRatio) { e->setArgument(4,(*v5_ApplicableValueRatio)); } else { e->setArgument(4); } e->setArgument(5,v6_ThermalLoadSource,IfcThermalLoadSourceEnum::ToString(v6_ThermalLoadSource)); e->setArgument(6,v7_PropertySource,IfcPropertySourceEnum::ToString(v7_PropertySource)); if (v8_SourceDescription) { e->setArgument(7,(*v8_SourceDescription)); } else { e->setArgument(7); } e->setArgument(8,(v9_MaximumValue)); if (v10_MinimumValue) { e->setArgument(9,(*v10_MinimumValue)); } else { e->setArgument(9); } e->setArgument(10,(v11_ThermalLoadTimeSeriesValues)); if (v12_UserDefinedThermalLoadSource) { e->setArgument(11,(*v12_UserDefinedThermalLoadSource)); } else { e->setArgument(11); } if (v13_UserDefinedPropertySource) { e->setArgument(12,(*v13_UserDefinedPropertySource)); } else { e->setArgument(12); } e->setArgument(13,v14_ThermalLoadType,IfcThermalLoadTypeEnum::ToString(v14_ThermalLoadType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, boost::optional< IfcTimeSeries* > v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableValueRatio) { e->setArgument(4,(*v5_ApplicableValueRatio)); } else { e->setArgument(4); } e->setArgument(5,v6_ThermalLoadSource,IfcThermalLoadSourceEnum::ToString(v6_ThermalLoadSource)); e->setArgument(6,v7_PropertySource,IfcPropertySourceEnum::ToString(v7_PropertySource)); if (v8_SourceDescription) { e->setArgument(7,(*v8_SourceDescription)); } else { e->setArgument(7); } e->setArgument(8,(v9_MaximumValue)); if (v10_MinimumValue) { e->setArgument(9,(*v10_MinimumValue)); } else { e->setArgument(9); } if (v11_ThermalLoadTimeSeriesValues) { e->setArgument(10,(*v11_ThermalLoadTimeSeriesValues)); } else { e->setArgument(10); } if (v12_UserDefinedThermalLoadSource) { e->setArgument(11,(*v12_UserDefinedThermalLoadSource)); } else { e->setArgument(11); } if (v13_UserDefinedPropertySource) { e->setArgument(12,(*v13_UserDefinedPropertySource)); } else { e->setArgument(12); } e->setArgument(13,v14_ThermalLoadType,IfcThermalLoadTypeEnum::ToString(v14_ThermalLoadType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceType IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceType::PredefinedType() const { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSpaceType::setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceTypeEnum::ToString(v)); } +void IfcSpaceType::PredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSpaceTypeEnum::ToString(v));; } bool IfcSpaceType::is(Type::Enum v) const { return v == Type::IfcSpaceType || IfcSpatialStructureElementType::is(v); } Type::Enum IfcSpaceType::type() const { return Type::IfcSpaceType; } Type::Enum IfcSpaceType::Class() { return Type::IfcSpaceType; } @@ -12746,11 +12311,10 @@ IfcSpaceType::IfcSpaceType(IfcAbstractEntity* e) : IfcSpatialStructureElementTyp IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElement -bool IfcSpatialStructureElement::hasLongName() const { return !entity->getArgument(7)->isNull(); } -std::string IfcSpatialStructureElement::LongName() const { return *entity->getArgument(7); } -void IfcSpatialStructureElement::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< std::string > IfcSpatialStructureElement::LongName() const { return *entity->getArgument(7); } +void IfcSpatialStructureElement::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() const { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } -void IfcSpatialStructureElement::setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElementCompositionEnum::ToString(v)); } +void IfcSpatialStructureElement::CompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcElementCompositionEnum::ToString(v));; } IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialStructureElement::ReferencesElements() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure, 5)->as(); } IfcRelServicesBuildings::list::ptr IfcSpatialStructureElement::ServicedBySystems() const { return entity->getInverse(Type::IfcRelServicesBuildings, 5)->as(); } IfcRelContainedInSpatialStructure::list::ptr IfcSpatialStructureElement::ContainsElements() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 5)->as(); } @@ -12758,7 +12322,7 @@ bool IfcSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcSpatialStructureElement::type() const { return Type::IfcSpatialStructureElement; } Type::Enum IfcSpatialStructureElement::Class() { return Type::IfcSpatialStructureElement; } IfcSpatialStructureElement::IfcSpatialStructureElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElementType bool IfcSpatialStructureElementType::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElementType || IfcElementType::is(v); } @@ -12769,7 +12333,7 @@ IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_Gl // Function implementations for IfcSphere double IfcSphere::Radius() const { return *entity->getArgument(1); } -void IfcSphere::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSphere::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcSphere::is(Type::Enum v) const { return v == Type::IfcSphere || IfcCsgPrimitive3D::is(v); } Type::Enum IfcSphere::type() const { return Type::IfcSphere; } Type::Enum IfcSphere::Class() { return Type::IfcSphere; } @@ -12778,7 +12342,7 @@ IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCs // Function implementations for IfcStackTerminalType IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalType::PredefinedType() const { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStackTerminalType::setPredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStackTerminalTypeEnum::ToString(v)); } +void IfcStackTerminalType::PredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStackTerminalTypeEnum::ToString(v));; } bool IfcStackTerminalType::is(Type::Enum v) const { return v == Type::IfcStackTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcStackTerminalType::type() const { return Type::IfcStackTerminalType; } Type::Enum IfcStackTerminalType::Class() { return Type::IfcStackTerminalType; } @@ -12787,35 +12351,31 @@ IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, IfcOwnerHist // Function implementations for IfcStair IfcStairTypeEnum::IfcStairTypeEnum IfcStair::ShapeType() const { return IfcStairTypeEnum::FromString(*entity->getArgument(8)); } -void IfcStair::setShapeType(IfcStairTypeEnum::IfcStairTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcStairTypeEnum::ToString(v)); } +void IfcStair::ShapeType(IfcStairTypeEnum::IfcStairTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcStairTypeEnum::ToString(v));; } bool IfcStair::is(Type::Enum v) const { return v == Type::IfcStair || IfcBuildingElement::is(v); } Type::Enum IfcStair::type() const { return Type::IfcStair; } Type::Enum IfcStair::Class() { return Type::IfcStair; } IfcStair::IfcStair(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcStairTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } +IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcStairTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight -bool IfcStairFlight::hasNumberOfRiser() const { return !entity->getArgument(8)->isNull(); } -int IfcStairFlight::NumberOfRiser() const { return *entity->getArgument(8); } -void IfcStairFlight::setNumberOfRiser(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStairFlight::hasNumberOfTreads() const { return !entity->getArgument(9)->isNull(); } -int IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } -void IfcStairFlight::setNumberOfTreads(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcStairFlight::hasRiserHeight() const { return !entity->getArgument(10)->isNull(); } -double IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } -void IfcStairFlight::setRiserHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcStairFlight::hasTreadLength() const { return !entity->getArgument(11)->isNull(); } -double IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } -void IfcStairFlight::setTreadLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +boost::optional< int > IfcStairFlight::NumberOfRiser() const { return *entity->getArgument(8); } +void IfcStairFlight::NumberOfRiser(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< int > IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } +void IfcStairFlight::NumberOfTreads(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } +void IfcStairFlight::RiserHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } +void IfcStairFlight::TreadLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcStairFlight::is(Type::Enum v) const { return v == Type::IfcStairFlight || IfcBuildingElement::is(v); } Type::Enum IfcStairFlight::type() const { return Type::IfcStairFlight; } Type::Enum IfcStairFlight::Class() { return Type::IfcStairFlight; } IfcStairFlight::IfcStairFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStairFlightType::setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStairFlightTypeEnum::ToString(v)); } +void IfcStairFlightType::PredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStairFlightTypeEnum::ToString(v));; } bool IfcStairFlightType::is(Type::Enum v) const { return v == Type::IfcStairFlightType || IfcBuildingElementType::is(v); } Type::Enum IfcStairFlightType::type() const { return Type::IfcStairFlightType; } Type::Enum IfcStairFlightType::Class() { return Type::IfcStairFlightType; } @@ -12824,61 +12384,55 @@ IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, IfcOwnerHistory* // Function implementations for IfcStructuralAction bool IfcStructuralAction::DestabilizingLoad() const { return *entity->getArgument(9); } -void IfcStructuralAction::setDestabilizingLoad(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcStructuralAction::hasCausedBy() const { return !entity->getArgument(10)->isNull(); } -IfcStructuralReaction* IfcStructuralAction::CausedBy() const { return (IfcStructuralReaction*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcStructuralAction::setCausedBy(IfcStructuralReaction* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcStructuralAction::DestabilizingLoad(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } +boost::optional< IfcStructuralReaction* > IfcStructuralAction::CausedBy() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcStructuralReaction*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralAction::CausedBy(boost::optional< IfcStructuralReaction* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcStructuralAction::is(Type::Enum v) const { return v == Type::IfcStructuralAction || IfcStructuralActivity::is(v); } Type::Enum IfcStructuralAction::type() const { return Type::IfcStructuralAction; } Type::Enum IfcStructuralAction::Class() { return Type::IfcStructuralAction; } IfcStructuralAction::IfcStructuralAction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } +IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); if (v11_CausedBy) { e->setArgument(10,(*v11_CausedBy)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralActivity IfcStructuralLoad* IfcStructuralActivity::AppliedLoad() const { return (IfcStructuralLoad*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcStructuralActivity::setAppliedLoad(IfcStructuralLoad* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcStructuralActivity::AppliedLoad(IfcStructuralLoad* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcStructuralActivity::GlobalOrLocal() const { return IfcGlobalOrLocalEnum::FromString(*entity->getArgument(8)); } -void IfcStructuralActivity::setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGlobalOrLocalEnum::ToString(v)); } +void IfcStructuralActivity::GlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcGlobalOrLocalEnum::ToString(v));; } IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity, 5)->as(); } bool IfcStructuralActivity::is(Type::Enum v) const { return v == Type::IfcStructuralActivity || IfcProduct::is(v); } Type::Enum IfcStructuralActivity::type() const { return Type::IfcStructuralActivity; } Type::Enum IfcStructuralActivity::Class() { return Type::IfcStructuralActivity; } IfcStructuralActivity::IfcStructuralActivity(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAnalysisModel IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::PredefinedType() const { return IfcAnalysisModelTypeEnum::FromString(*entity->getArgument(5)); } -void IfcStructuralAnalysisModel::setPredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcAnalysisModelTypeEnum::ToString(v)); } -bool IfcStructuralAnalysisModel::hasOrientationOf2DPlane() const { return !entity->getArgument(6)->isNull(); } -IfcAxis2Placement3D* IfcStructuralAnalysisModel::OrientationOf2DPlane() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcStructuralAnalysisModel::setOrientationOf2DPlane(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcStructuralAnalysisModel::hasLoadedBy() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr IfcStructuralAnalysisModel::LoadedBy() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcStructuralAnalysisModel::setLoadedBy(IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcStructuralAnalysisModel::hasHasResults() const { return !entity->getArgument(8)->isNull(); } -IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr IfcStructuralAnalysisModel::HasResults() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcStructuralAnalysisModel::setHasResults(IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +void IfcStructuralAnalysisModel::PredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcAnalysisModelTypeEnum::ToString(v));; } +boost::optional< IfcAxis2Placement3D* > IfcStructuralAnalysisModel::OrientationOf2DPlane() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralAnalysisModel::OrientationOf2DPlane(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > IfcStructuralAnalysisModel::LoadedBy() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcStructuralAnalysisModel::LoadedBy(boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > IfcStructuralAnalysisModel::HasResults() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcStructuralAnalysisModel::HasResults(boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,(*v)->generalize());; } else { w->setArgument(8); } } bool IfcStructuralAnalysisModel::is(Type::Enum v) const { return v == Type::IfcStructuralAnalysisModel || IfcSystem::is(v); } Type::Enum IfcStructuralAnalysisModel::type() const { return Type::IfcStructuralAnalysisModel; } Type::Enum IfcStructuralAnalysisModel::Class() { return Type::IfcStructuralAnalysisModel; } IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, boost::optional< IfcAxis2Placement3D* > v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); if (v7_OrientationOf2DPlane) { e->setArgument(6,(*v7_OrientationOf2DPlane)); } else { e->setArgument(6); } if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnection -bool IfcStructuralConnection::hasAppliedCondition() const { return !entity->getArgument(7)->isNull(); } -IfcBoundaryCondition* IfcStructuralConnection::AppliedCondition() const { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcStructuralConnection::setAppliedCondition(IfcBoundaryCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< IfcBoundaryCondition* > IfcStructuralConnection::AppliedCondition() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralConnection::AppliedCondition(boost::optional< IfcBoundaryCondition* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember, 5)->as(); } bool IfcStructuralConnection::is(Type::Enum v) const { return v == Type::IfcStructuralConnection || IfcStructuralItem::is(v); } Type::Enum IfcStructuralConnection::type() const { return Type::IfcStructuralConnection; } Type::Enum IfcStructuralConnection::Class() { return Type::IfcStructuralConnection; } IfcStructuralConnection::IfcStructuralConnection(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnectionCondition -bool IfcStructuralConnectionCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } -void IfcStructuralConnectionCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } +void IfcStructuralConnectionCondition::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcStructuralConnectionCondition::is(Type::Enum v) const { return v == Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::type() const { return Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::Class() { return Type::IfcStructuralConnectionCondition; } @@ -12890,23 +12444,23 @@ bool IfcStructuralCurveConnection::is(Type::Enum v) const { return v == Type::If Type::Enum IfcStructuralCurveConnection::type() const { return Type::IfcStructuralCurveConnection; } Type::Enum IfcStructuralCurveConnection::Class() { return Type::IfcStructuralCurveConnection; } IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMember IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum IfcStructuralCurveMember::PredefinedType() const { return IfcStructuralCurveTypeEnum::FromString(*entity->getArgument(7)); } -void IfcStructuralCurveMember::setPredefinedType(IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcStructuralCurveTypeEnum::ToString(v)); } +void IfcStructuralCurveMember::PredefinedType(IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcStructuralCurveTypeEnum::ToString(v));; } bool IfcStructuralCurveMember::is(Type::Enum v) const { return v == Type::IfcStructuralCurveMember || IfcStructuralMember::is(v); } Type::Enum IfcStructuralCurveMember::type() const { return Type::IfcStructuralCurveMember; } Type::Enum IfcStructuralCurveMember::Class() { return Type::IfcStructuralCurveMember; } IfcStructuralCurveMember::IfcStructuralCurveMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMemberVarying bool IfcStructuralCurveMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralCurveMemberVarying || IfcStructuralCurveMember::is(v); } Type::Enum IfcStructuralCurveMemberVarying::type() const { return Type::IfcStructuralCurveMemberVarying; } Type::Enum IfcStructuralCurveMemberVarying::Class() { return Type::IfcStructuralCurveMemberVarying; } IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcAbstractEntity* e) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralItem IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity, 4)->as(); } @@ -12914,32 +12468,31 @@ bool IfcStructuralItem::is(Type::Enum v) const { return v == Type::IfcStructural Type::Enum IfcStructuralItem::type() const { return Type::IfcStructuralItem; } Type::Enum IfcStructuralItem::Class() { return Type::IfcStructuralItem; } IfcStructuralItem::IfcStructuralItem(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearAction IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralLinearAction::ProjectedOrTrue() const { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(11)); } -void IfcStructuralLinearAction::setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcProjectedOrTrueLengthEnum::ToString(v)); } +void IfcStructuralLinearAction::ProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcProjectedOrTrueLengthEnum::ToString(v));; } bool IfcStructuralLinearAction::is(Type::Enum v) const { return v == Type::IfcStructuralLinearAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralLinearAction::type() const { return Type::IfcStructuralLinearAction; } Type::Enum IfcStructuralLinearAction::Class() { return Type::IfcStructuralLinearAction; } IfcStructuralLinearAction::IfcStructuralLinearAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } +IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); if (v11_CausedBy) { e->setArgument(10,(*v11_CausedBy)); } else { e->setArgument(10); } e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearActionVarying IfcShapeAspect* IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcStructuralLinearActionVarying::setVaryingAppliedLoadLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation(IfcShapeAspect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } IfcTemplatedEntityList< IfcStructuralLoad >::ptr IfcStructuralLinearActionVarying::SubsequentAppliedLoads() const { IfcEntityList::ptr es = *entity->getArgument(13); return es->as(); } -void IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v->generalize()); } +void IfcStructuralLinearActionVarying::SubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v->generalize());; } bool IfcStructuralLinearActionVarying::is(Type::Enum v) const { return v == Type::IfcStructuralLinearActionVarying || IfcStructuralLinearAction::is(v); } Type::Enum IfcStructuralLinearActionVarying::type() const { return Type::IfcStructuralLinearActionVarying; } Type::Enum IfcStructuralLinearActionVarying::Class() { return Type::IfcStructuralLinearActionVarying; } IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(IfcAbstractEntity* e) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); if (v11_CausedBy) { e->setArgument(10,(*v11_CausedBy)); } else { e->setArgument(10); } e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoad -bool IfcStructuralLoad::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcStructuralLoad::Name() const { return *entity->getArgument(0); } -void IfcStructuralLoad::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcStructuralLoad::Name() const { return *entity->getArgument(0); } +void IfcStructuralLoad::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcStructuralLoad::is(Type::Enum v) const { return v == Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::type() const { return Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::Class() { return Type::IfcStructuralLoad; } @@ -12948,17 +12501,15 @@ IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : I // Function implementations for IfcStructuralLoadGroup IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcStructuralLoadGroup::PredefinedType() const { return IfcLoadGroupTypeEnum::FromString(*entity->getArgument(5)); } -void IfcStructuralLoadGroup::setPredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcLoadGroupTypeEnum::ToString(v)); } +void IfcStructuralLoadGroup::PredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcLoadGroupTypeEnum::ToString(v));; } IfcActionTypeEnum::IfcActionTypeEnum IfcStructuralLoadGroup::ActionType() const { return IfcActionTypeEnum::FromString(*entity->getArgument(6)); } -void IfcStructuralLoadGroup::setActionType(IfcActionTypeEnum::IfcActionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcActionTypeEnum::ToString(v)); } +void IfcStructuralLoadGroup::ActionType(IfcActionTypeEnum::IfcActionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcActionTypeEnum::ToString(v));; } IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcStructuralLoadGroup::ActionSource() const { return IfcActionSourceTypeEnum::FromString(*entity->getArgument(7)); } -void IfcStructuralLoadGroup::setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcActionSourceTypeEnum::ToString(v)); } -bool IfcStructuralLoadGroup::hasCoefficient() const { return !entity->getArgument(8)->isNull(); } -double IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } -void IfcStructuralLoadGroup::setCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStructuralLoadGroup::hasPurpose() const { return !entity->getArgument(9)->isNull(); } -std::string IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } -void IfcStructuralLoadGroup::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcStructuralLoadGroup::ActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcActionSourceTypeEnum::ToString(v));; } +boost::optional< double > IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } +void IfcStructuralLoadGroup::Coefficient(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } +void IfcStructuralLoadGroup::Purpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return entity->getInverse(Type::IfcStructuralResultGroup, 6)->as(); } IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel, 7)->as(); } bool IfcStructuralLoadGroup::is(Type::Enum v) const { return v == Type::IfcStructuralLoadGroup || IfcGroup::is(v); } @@ -12968,24 +12519,18 @@ IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcAbstractEntity* e) : IfcGroup( IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadLinearForce -bool IfcStructuralLoadLinearForce::hasLinearForceX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadLinearForce::setLinearForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadLinearForce::setLinearForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadLinearForce::setLinearForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !entity->getArgument(4)->isNull(); } -double IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadLinearForce::setLinearMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !entity->getArgument(5)->isNull(); } -double IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadLinearForce::setLinearMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !entity->getArgument(6)->isNull(); } -double IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadLinearForce::setLinearMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadLinearForce::LinearForceX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadLinearForce::LinearForceY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadLinearForce::LinearForceZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadLinearForce::LinearMomentX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadLinearForce::LinearMomentY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadLinearForce::LinearMomentZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralLoadLinearForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadLinearForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadLinearForce::type() const { return Type::IfcStructuralLoadLinearForce; } Type::Enum IfcStructuralLoadLinearForce::Class() { return Type::IfcStructuralLoadLinearForce; } @@ -12993,15 +12538,12 @@ IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntity* e) IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearForceX, boost::optional< double > v3_LinearForceY, boost::optional< double > v4_LinearForceZ, boost::optional< double > v5_LinearMomentX, boost::optional< double > v6_LinearMomentY, boost::optional< double > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadPlanarForce -bool IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadPlanarForce::setPlanarForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadPlanarForce::setPlanarForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadPlanarForce::setPlanarForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadPlanarForce::PlanarForceX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadPlanarForce::PlanarForceY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadPlanarForce::PlanarForceZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcStructuralLoadPlanarForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadPlanarForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadPlanarForce::type() const { return Type::IfcStructuralLoadPlanarForce; } Type::Enum IfcStructuralLoadPlanarForce::Class() { return Type::IfcStructuralLoadPlanarForce; } @@ -13009,24 +12551,18 @@ IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntity* e) IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacement -bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleDisplacement::setDisplacementX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleDisplacement::setDisplacementY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleDisplacement::setDisplacementZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !entity->getArgument(4)->isNull(); } -double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !entity->getArgument(5)->isNull(); } -double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !entity->getArgument(6)->isNull(); } -double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleDisplacement::DisplacementX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleDisplacement::DisplacementY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleDisplacement::DisplacementZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralLoadSingleDisplacement::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacement || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleDisplacement::type() const { return Type::IfcStructuralLoadSingleDisplacement; } Type::Enum IfcStructuralLoadSingleDisplacement::Class() { return Type::IfcStructuralLoadSingleDisplacement; } @@ -13034,9 +12570,8 @@ IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbst IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !entity->getArgument(7)->isNull(); } -double IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleDisplacementDistortion::Distortion(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcStructuralLoadSingleDisplacementDistortion::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacementDistortion || IfcStructuralLoadSingleDisplacement::is(v); } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::type() const { return Type::IfcStructuralLoadSingleDisplacementDistortion; } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::Class() { return Type::IfcStructuralLoadSingleDisplacementDistortion; } @@ -13044,24 +12579,18 @@ IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplaceme IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForce -bool IfcStructuralLoadSingleForce::hasForceX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleForce::setForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleForce::hasForceY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleForce::setForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleForce::hasForceZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleForce::setForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleForce::hasMomentX() const { return !entity->getArgument(4)->isNull(); } -double IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleForce::setMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleForce::hasMomentY() const { return !entity->getArgument(5)->isNull(); } -double IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleForce::setMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleForce::hasMomentZ() const { return !entity->getArgument(6)->isNull(); } -double IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleForce::setMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleForce::ForceX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleForce::ForceY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleForce::ForceZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleForce::MomentX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleForce::MomentY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleForce::MomentZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralLoadSingleForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleForce::type() const { return Type::IfcStructuralLoadSingleForce; } Type::Enum IfcStructuralLoadSingleForce::Class() { return Type::IfcStructuralLoadSingleForce; } @@ -13069,9 +12598,8 @@ IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntity* e) IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForceWarping -bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !entity->getArgument(7)->isNull(); } -double IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleForceWarping::setWarpingMoment(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleForceWarping::WarpingMoment(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcStructuralLoadSingleForceWarping::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForceWarping || IfcStructuralLoadSingleForce::is(v); } Type::Enum IfcStructuralLoadSingleForceWarping::type() const { return Type::IfcStructuralLoadSingleForceWarping; } Type::Enum IfcStructuralLoadSingleForceWarping::Class() { return Type::IfcStructuralLoadSingleForceWarping; } @@ -13086,15 +12614,12 @@ IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntity* e) : IfcStru IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadTemperature -bool IfcStructuralLoadTemperature::hasDeltaT_Constant() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadTemperature::DeltaT_Constant() const { return *entity->getArgument(1); } -void IfcStructuralLoadTemperature::setDeltaT_Constant(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadTemperature::hasDeltaT_Y() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadTemperature::DeltaT_Y() const { return *entity->getArgument(2); } -void IfcStructuralLoadTemperature::setDeltaT_Y(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadTemperature::hasDeltaT_Z() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadTemperature::DeltaT_Z() const { return *entity->getArgument(3); } -void IfcStructuralLoadTemperature::setDeltaT_Z(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcStructuralLoadTemperature::DeltaT_Constant() const { return *entity->getArgument(1); } +void IfcStructuralLoadTemperature::DeltaT_Constant(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadTemperature::DeltaT_Y() const { return *entity->getArgument(2); } +void IfcStructuralLoadTemperature::DeltaT_Y(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadTemperature::DeltaT_Z() const { return *entity->getArgument(3); } +void IfcStructuralLoadTemperature::DeltaT_Z(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcStructuralLoadTemperature::is(Type::Enum v) const { return v == Type::IfcStructuralLoadTemperature || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadTemperature::type() const { return Type::IfcStructuralLoadTemperature; } Type::Enum IfcStructuralLoadTemperature::Class() { return Type::IfcStructuralLoadTemperature; } @@ -13108,103 +12633,87 @@ bool IfcStructuralMember::is(Type::Enum v) const { return v == Type::IfcStructur Type::Enum IfcStructuralMember::type() const { return Type::IfcStructuralMember; } Type::Enum IfcStructuralMember::Class() { return Type::IfcStructuralMember; } IfcStructuralMember::IfcStructuralMember(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarAction IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralPlanarAction::ProjectedOrTrue() const { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(11)); } -void IfcStructuralPlanarAction::setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcProjectedOrTrueLengthEnum::ToString(v)); } +void IfcStructuralPlanarAction::ProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcProjectedOrTrueLengthEnum::ToString(v));; } bool IfcStructuralPlanarAction::is(Type::Enum v) const { return v == Type::IfcStructuralPlanarAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralPlanarAction::type() const { return Type::IfcStructuralPlanarAction; } Type::Enum IfcStructuralPlanarAction::Class() { return Type::IfcStructuralPlanarAction; } IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); if (v11_CausedBy) { e->setArgument(10,(*v11_CausedBy)); } else { e->setArgument(10); } e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarActionVarying IfcShapeAspect* IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcStructuralPlanarActionVarying::setVaryingAppliedLoadLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation(IfcShapeAspect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } IfcTemplatedEntityList< IfcStructuralLoad >::ptr IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() const { IfcEntityList::ptr es = *entity->getArgument(13); return es->as(); } -void IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v->generalize()); } +void IfcStructuralPlanarActionVarying::SubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(13,v->generalize());; } bool IfcStructuralPlanarActionVarying::is(Type::Enum v) const { return v == Type::IfcStructuralPlanarActionVarying || IfcStructuralPlanarAction::is(v); } Type::Enum IfcStructuralPlanarActionVarying::type() const { return Type::IfcStructuralPlanarActionVarying; } Type::Enum IfcStructuralPlanarActionVarying::Class() { return Type::IfcStructuralPlanarActionVarying; } IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(IfcAbstractEntity* e) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); if (v11_CausedBy) { e->setArgument(10,(*v11_CausedBy)); } else { e->setArgument(10); } e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointAction bool IfcStructuralPointAction::is(Type::Enum v) const { return v == Type::IfcStructuralPointAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralPointAction::type() const { return Type::IfcStructuralPointAction; } Type::Enum IfcStructuralPointAction::Class() { return Type::IfcStructuralPointAction; } IfcStructuralPointAction::IfcStructuralPointAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); if (v11_CausedBy) { e->setArgument(10,(*v11_CausedBy)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointConnection bool IfcStructuralPointConnection::is(Type::Enum v) const { return v == Type::IfcStructuralPointConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralPointConnection::type() const { return Type::IfcStructuralPointConnection; } Type::Enum IfcStructuralPointConnection::Class() { return Type::IfcStructuralPointConnection; } IfcStructuralPointConnection::IfcStructuralPointConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointReaction bool IfcStructuralPointReaction::is(Type::Enum v) const { return v == Type::IfcStructuralPointReaction || IfcStructuralReaction::is(v); } Type::Enum IfcStructuralPointReaction::type() const { return Type::IfcStructuralPointReaction; } Type::Enum IfcStructuralPointReaction::Class() { return Type::IfcStructuralPointReaction; } IfcStructuralPointReaction::IfcStructuralPointReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralProfileProperties -bool IfcStructuralProfileProperties::hasTorsionalConstantX() const { return !entity->getArgument(7)->isNull(); } -double IfcStructuralProfileProperties::TorsionalConstantX() const { return *entity->getArgument(7); } -void IfcStructuralProfileProperties::setTorsionalConstantX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcStructuralProfileProperties::hasMomentOfInertiaYZ() const { return !entity->getArgument(8)->isNull(); } -double IfcStructuralProfileProperties::MomentOfInertiaYZ() const { return *entity->getArgument(8); } -void IfcStructuralProfileProperties::setMomentOfInertiaYZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStructuralProfileProperties::hasMomentOfInertiaY() const { return !entity->getArgument(9)->isNull(); } -double IfcStructuralProfileProperties::MomentOfInertiaY() const { return *entity->getArgument(9); } -void IfcStructuralProfileProperties::setMomentOfInertiaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcStructuralProfileProperties::hasMomentOfInertiaZ() const { return !entity->getArgument(10)->isNull(); } -double IfcStructuralProfileProperties::MomentOfInertiaZ() const { return *entity->getArgument(10); } -void IfcStructuralProfileProperties::setMomentOfInertiaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcStructuralProfileProperties::hasWarpingConstant() const { return !entity->getArgument(11)->isNull(); } -double IfcStructuralProfileProperties::WarpingConstant() const { return *entity->getArgument(11); } -void IfcStructuralProfileProperties::setWarpingConstant(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcStructuralProfileProperties::hasShearCentreZ() const { return !entity->getArgument(12)->isNull(); } -double IfcStructuralProfileProperties::ShearCentreZ() const { return *entity->getArgument(12); } -void IfcStructuralProfileProperties::setShearCentreZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcStructuralProfileProperties::hasShearCentreY() const { return !entity->getArgument(13)->isNull(); } -double IfcStructuralProfileProperties::ShearCentreY() const { return *entity->getArgument(13); } -void IfcStructuralProfileProperties::setShearCentreY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcStructuralProfileProperties::hasShearDeformationAreaZ() const { return !entity->getArgument(14)->isNull(); } -double IfcStructuralProfileProperties::ShearDeformationAreaZ() const { return *entity->getArgument(14); } -void IfcStructuralProfileProperties::setShearDeformationAreaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcStructuralProfileProperties::hasShearDeformationAreaY() const { return !entity->getArgument(15)->isNull(); } -double IfcStructuralProfileProperties::ShearDeformationAreaY() const { return *entity->getArgument(15); } -void IfcStructuralProfileProperties::setShearDeformationAreaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcStructuralProfileProperties::hasMaximumSectionModulusY() const { return !entity->getArgument(16)->isNull(); } -double IfcStructuralProfileProperties::MaximumSectionModulusY() const { return *entity->getArgument(16); } -void IfcStructuralProfileProperties::setMaximumSectionModulusY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcStructuralProfileProperties::hasMinimumSectionModulusY() const { return !entity->getArgument(17)->isNull(); } -double IfcStructuralProfileProperties::MinimumSectionModulusY() const { return *entity->getArgument(17); } -void IfcStructuralProfileProperties::setMinimumSectionModulusY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcStructuralProfileProperties::hasMaximumSectionModulusZ() const { return !entity->getArgument(18)->isNull(); } -double IfcStructuralProfileProperties::MaximumSectionModulusZ() const { return *entity->getArgument(18); } -void IfcStructuralProfileProperties::setMaximumSectionModulusZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcStructuralProfileProperties::hasMinimumSectionModulusZ() const { return !entity->getArgument(19)->isNull(); } -double IfcStructuralProfileProperties::MinimumSectionModulusZ() const { return *entity->getArgument(19); } -void IfcStructuralProfileProperties::setMinimumSectionModulusZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } -bool IfcStructuralProfileProperties::hasTorsionalSectionModulus() const { return !entity->getArgument(20)->isNull(); } -double IfcStructuralProfileProperties::TorsionalSectionModulus() const { return *entity->getArgument(20); } -void IfcStructuralProfileProperties::setTorsionalSectionModulus(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } -bool IfcStructuralProfileProperties::hasCentreOfGravityInX() const { return !entity->getArgument(21)->isNull(); } -double IfcStructuralProfileProperties::CentreOfGravityInX() const { return *entity->getArgument(21); } -void IfcStructuralProfileProperties::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } -bool IfcStructuralProfileProperties::hasCentreOfGravityInY() const { return !entity->getArgument(22)->isNull(); } -double IfcStructuralProfileProperties::CentreOfGravityInY() const { return *entity->getArgument(22); } -void IfcStructuralProfileProperties::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } +boost::optional< double > IfcStructuralProfileProperties::TorsionalConstantX() const { return *entity->getArgument(7); } +void IfcStructuralProfileProperties::TorsionalConstantX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcStructuralProfileProperties::MomentOfInertiaYZ() const { return *entity->getArgument(8); } +void IfcStructuralProfileProperties::MomentOfInertiaYZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcStructuralProfileProperties::MomentOfInertiaY() const { return *entity->getArgument(9); } +void IfcStructuralProfileProperties::MomentOfInertiaY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcStructuralProfileProperties::MomentOfInertiaZ() const { return *entity->getArgument(10); } +void IfcStructuralProfileProperties::MomentOfInertiaZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcStructuralProfileProperties::WarpingConstant() const { return *entity->getArgument(11); } +void IfcStructuralProfileProperties::WarpingConstant(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcStructuralProfileProperties::ShearCentreZ() const { return *entity->getArgument(12); } +void IfcStructuralProfileProperties::ShearCentreZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcStructuralProfileProperties::ShearCentreY() const { return *entity->getArgument(13); } +void IfcStructuralProfileProperties::ShearCentreY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcStructuralProfileProperties::ShearDeformationAreaZ() const { return *entity->getArgument(14); } +void IfcStructuralProfileProperties::ShearDeformationAreaZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcStructuralProfileProperties::ShearDeformationAreaY() const { return *entity->getArgument(15); } +void IfcStructuralProfileProperties::ShearDeformationAreaY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcStructuralProfileProperties::MaximumSectionModulusY() const { return *entity->getArgument(16); } +void IfcStructuralProfileProperties::MaximumSectionModulusY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< double > IfcStructuralProfileProperties::MinimumSectionModulusY() const { return *entity->getArgument(17); } +void IfcStructuralProfileProperties::MinimumSectionModulusY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v); } else { w->setArgument(17); } } +boost::optional< double > IfcStructuralProfileProperties::MaximumSectionModulusZ() const { return *entity->getArgument(18); } +void IfcStructuralProfileProperties::MaximumSectionModulusZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(18,*v); } else { w->setArgument(18); } } +boost::optional< double > IfcStructuralProfileProperties::MinimumSectionModulusZ() const { return *entity->getArgument(19); } +void IfcStructuralProfileProperties::MinimumSectionModulusZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(19,*v); } else { w->setArgument(19); } } +boost::optional< double > IfcStructuralProfileProperties::TorsionalSectionModulus() const { return *entity->getArgument(20); } +void IfcStructuralProfileProperties::TorsionalSectionModulus(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(20,*v); } else { w->setArgument(20); } } +boost::optional< double > IfcStructuralProfileProperties::CentreOfGravityInX() const { return *entity->getArgument(21); } +void IfcStructuralProfileProperties::CentreOfGravityInX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(21,*v); } else { w->setArgument(21); } } +boost::optional< double > IfcStructuralProfileProperties::CentreOfGravityInY() const { return *entity->getArgument(22); } +void IfcStructuralProfileProperties::CentreOfGravityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(22,*v); } else { w->setArgument(22); } } bool IfcStructuralProfileProperties::is(Type::Enum v) const { return v == Type::IfcStructuralProfileProperties || IfcGeneralProfileProperties::is(v); } Type::Enum IfcStructuralProfileProperties::type() const { return Type::IfcStructuralProfileProperties; } Type::Enum IfcStructuralProfileProperties::Class() { return Type::IfcStructuralProfileProperties; } IfcStructuralProfileProperties::IfcStructuralProfileProperties(IfcAbstractEntity* e) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } +IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } if (v2_ProfileDefinition) { e->setArgument(1,(*v2_ProfileDefinition)); } else { e->setArgument(1); } if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralReaction IfcStructuralAction::list::ptr IfcStructuralReaction::Causes() const { return entity->getInverse(Type::IfcStructuralAction, 10)->as(); } @@ -13212,71 +12721,65 @@ bool IfcStructuralReaction::is(Type::Enum v) const { return v == Type::IfcStruct Type::Enum IfcStructuralReaction::type() const { return Type::IfcStructuralReaction; } Type::Enum IfcStructuralReaction::Class() { return Type::IfcStructuralReaction; } IfcStructuralReaction::IfcStructuralReaction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralResultGroup IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcStructuralResultGroup::TheoryType() const { return IfcAnalysisTheoryTypeEnum::FromString(*entity->getArgument(5)); } -void IfcStructuralResultGroup::setTheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcAnalysisTheoryTypeEnum::ToString(v)); } -bool IfcStructuralResultGroup::hasResultForLoadGroup() const { return !entity->getArgument(6)->isNull(); } -IfcStructuralLoadGroup* IfcStructuralResultGroup::ResultForLoadGroup() const { return (IfcStructuralLoadGroup*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcStructuralResultGroup::setResultForLoadGroup(IfcStructuralLoadGroup* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcStructuralResultGroup::TheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcAnalysisTheoryTypeEnum::ToString(v));; } +boost::optional< IfcStructuralLoadGroup* > IfcStructuralResultGroup::ResultForLoadGroup() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcStructuralLoadGroup*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralResultGroup::ResultForLoadGroup(boost::optional< IfcStructuralLoadGroup* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralResultGroup::IsLinear() const { return *entity->getArgument(7); } -void IfcStructuralResultGroup::setIsLinear(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcStructuralResultGroup::IsLinear(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel, 8)->as(); } bool IfcStructuralResultGroup::is(Type::Enum v) const { return v == Type::IfcStructuralResultGroup || IfcGroup::is(v); } Type::Enum IfcStructuralResultGroup::type() const { return Type::IfcStructuralResultGroup; } Type::Enum IfcStructuralResultGroup::Class() { return Type::IfcStructuralResultGroup; } IfcStructuralResultGroup::IfcStructuralResultGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } +IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, boost::optional< IfcStructuralLoadGroup* > v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); if (v7_ResultForLoadGroup) { e->setArgument(6,(*v7_ResultForLoadGroup)); } else { e->setArgument(6); } e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSteelProfileProperties -bool IfcStructuralSteelProfileProperties::hasShearAreaZ() const { return !entity->getArgument(23)->isNull(); } -double IfcStructuralSteelProfileProperties::ShearAreaZ() const { return *entity->getArgument(23); } -void IfcStructuralSteelProfileProperties::setShearAreaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(23,v); } -bool IfcStructuralSteelProfileProperties::hasShearAreaY() const { return !entity->getArgument(24)->isNull(); } -double IfcStructuralSteelProfileProperties::ShearAreaY() const { return *entity->getArgument(24); } -void IfcStructuralSteelProfileProperties::setShearAreaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(24,v); } -bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorY() const { return !entity->getArgument(25)->isNull(); } -double IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { return *entity->getArgument(25); } -void IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(25,v); } -bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorZ() const { return !entity->getArgument(26)->isNull(); } -double IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { return *entity->getArgument(26); } -void IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(26,v); } +boost::optional< double > IfcStructuralSteelProfileProperties::ShearAreaZ() const { return *entity->getArgument(23); } +void IfcStructuralSteelProfileProperties::ShearAreaZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(23,*v); } else { w->setArgument(23); } } +boost::optional< double > IfcStructuralSteelProfileProperties::ShearAreaY() const { return *entity->getArgument(24); } +void IfcStructuralSteelProfileProperties::ShearAreaY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(24,*v); } else { w->setArgument(24); } } +boost::optional< double > IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { return *entity->getArgument(25); } +void IfcStructuralSteelProfileProperties::PlasticShapeFactorY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(25,*v); } else { w->setArgument(25); } } +boost::optional< double > IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { return *entity->getArgument(26); } +void IfcStructuralSteelProfileProperties::PlasticShapeFactorZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(26,*v); } else { w->setArgument(26); } } bool IfcStructuralSteelProfileProperties::is(Type::Enum v) const { return v == Type::IfcStructuralSteelProfileProperties || IfcStructuralProfileProperties::is(v); } Type::Enum IfcStructuralSteelProfileProperties::type() const { return Type::IfcStructuralSteelProfileProperties; } Type::Enum IfcStructuralSteelProfileProperties::Class() { return Type::IfcStructuralSteelProfileProperties; } IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(IfcAbstractEntity* e) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSteelProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } if (v24_ShearAreaZ) { e->setArgument(23,(*v24_ShearAreaZ)); } else { e->setArgument(23); } if (v25_ShearAreaY) { e->setArgument(24,(*v25_ShearAreaY)); } else { e->setArgument(24); } if (v26_PlasticShapeFactorY) { e->setArgument(25,(*v26_PlasticShapeFactorY)); } else { e->setArgument(25); } if (v27_PlasticShapeFactorZ) { e->setArgument(26,(*v27_PlasticShapeFactorZ)); } else { e->setArgument(26); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } if (v2_ProfileDefinition) { e->setArgument(1,(*v2_ProfileDefinition)); } else { e->setArgument(1); } if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } if (v24_ShearAreaZ) { e->setArgument(23,(*v24_ShearAreaZ)); } else { e->setArgument(23); } if (v25_ShearAreaY) { e->setArgument(24,(*v25_ShearAreaY)); } else { e->setArgument(24); } if (v26_PlasticShapeFactorY) { e->setArgument(25,(*v26_PlasticShapeFactorY)); } else { e->setArgument(25); } if (v27_PlasticShapeFactorZ) { e->setArgument(26,(*v27_PlasticShapeFactorZ)); } else { e->setArgument(26); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceConnection bool IfcStructuralSurfaceConnection::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralSurfaceConnection::type() const { return Type::IfcStructuralSurfaceConnection; } Type::Enum IfcStructuralSurfaceConnection::Class() { return Type::IfcStructuralSurfaceConnection; } IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMember IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum IfcStructuralSurfaceMember::PredefinedType() const { return IfcStructuralSurfaceTypeEnum::FromString(*entity->getArgument(7)); } -void IfcStructuralSurfaceMember::setPredefinedType(IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcStructuralSurfaceTypeEnum::ToString(v)); } -bool IfcStructuralSurfaceMember::hasThickness() const { return !entity->getArgument(8)->isNull(); } -double IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } -void IfcStructuralSurfaceMember::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcStructuralSurfaceMember::PredefinedType(IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcStructuralSurfaceTypeEnum::ToString(v));; } +boost::optional< double > IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } +void IfcStructuralSurfaceMember::Thickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcStructuralSurfaceMember::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMember || IfcStructuralMember::is(v); } Type::Enum IfcStructuralSurfaceMember::type() const { return Type::IfcStructuralSurfaceMember; } Type::Enum IfcStructuralSurfaceMember::Class() { return Type::IfcStructuralSurfaceMember; } IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMemberVarying std::vector< double > /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { return *entity->getArgument(9); } -void IfcStructuralSurfaceMemberVarying::setSubsequentThickness(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcStructuralSurfaceMemberVarying::SubsequentThickness(std::vector< double > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } IfcShapeAspect* IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation(IfcShapeAspect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcStructuralSurfaceMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMemberVarying || IfcStructuralSurfaceMember::is(v); } Type::Enum IfcStructuralSurfaceMemberVarying::type() const { return Type::IfcStructuralSurfaceMemberVarying; } Type::Enum IfcStructuralSurfaceMemberVarying::Class() { return Type::IfcStructuralSurfaceMemberVarying; } IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcAbstractEntity* e) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } e->setArgument(9,(v10_SubsequentThickness)); e->setArgument(10,(v11_VaryingThicknessLocation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } e->setArgument(9,(v10_SubsequentThickness)); e->setArgument(10,(v11_VaryingThicknessLocation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuredDimensionCallout bool IfcStructuredDimensionCallout::is(Type::Enum v) const { return v == Type::IfcStructuredDimensionCallout || IfcDraughtingCallout::is(v); } @@ -13293,19 +12796,17 @@ IfcStyleModel::IfcStyleModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstr IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledItem -bool IfcStyledItem::hasItem() const { return !entity->getArgument(0)->isNull(); } -IfcRepresentationItem* IfcStyledItem::Item() const { return (IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcStyledItem::setItem(IfcRepresentationItem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< IfcRepresentationItem* > IfcStyledItem::Item() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStyledItem::Item(boost::optional< IfcRepresentationItem* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr IfcStyledItem::Styles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcStyledItem::setStyles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcStyledItem::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcStyledItem::Name() const { return *entity->getArgument(2); } -void IfcStyledItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcStyledItem::Styles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } +boost::optional< std::string > IfcStyledItem::Name() const { return *entity->getArgument(2); } +void IfcStyledItem::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcStyledItem::is(Type::Enum v) const { return v == Type::IfcStyledItem || IfcRepresentationItem::is(v); } Type::Enum IfcStyledItem::type() const { return Type::IfcStyledItem; } Type::Enum IfcStyledItem::Class() { return Type::IfcStyledItem; } IfcStyledItem::IfcStyledItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcStyledItem::IfcStyledItem(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledRepresentation bool IfcStyledRepresentation::is(Type::Enum v) const { return v == Type::IfcStyledRepresentation || IfcStyleModel::is(v); } @@ -13315,21 +12816,19 @@ IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntity* e) : IfcStyl IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResource -bool IfcSubContractResource::hasSubContractor() const { return !entity->getArgument(9)->isNull(); } -IfcActorSelect* IfcSubContractResource::SubContractor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcSubContractResource::setSubContractor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSubContractResource::hasJobDescription() const { return !entity->getArgument(10)->isNull(); } -std::string IfcSubContractResource::JobDescription() const { return *entity->getArgument(10); } -void IfcSubContractResource::setJobDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcActorSelect* > IfcSubContractResource::SubContractor() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSubContractResource::SubContractor(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcSubContractResource::JobDescription() const { return *entity->getArgument(10); } +void IfcSubContractResource::JobDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcSubContractResource::is(Type::Enum v) const { return v == Type::IfcSubContractResource || IfcConstructionResource::is(v); } Type::Enum IfcSubContractResource::type() const { return Type::IfcSubContractResource; } Type::Enum IfcSubContractResource::Class() { return Type::IfcSubContractResource; } IfcSubContractResource::IfcSubContractResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); e->setArgument(9,(v10_SubContractor)); if (v11_JobDescription) { e->setArgument(10,(*v11_JobDescription)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity, boost::optional< IfcActorSelect* > v10_SubContractor, boost::optional< std::string > v11_JobDescription) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } if (v9_BaseQuantity) { e->setArgument(8,(*v9_BaseQuantity)); } else { e->setArgument(8); } if (v10_SubContractor) { e->setArgument(9,(*v10_SubContractor)); } else { e->setArgument(9); } if (v11_JobDescription) { e->setArgument(10,(*v11_JobDescription)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubedge IfcEdge* IfcSubedge::ParentEdge() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSubedge::setParentEdge(IfcEdge* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSubedge::ParentEdge(IfcEdge* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcSubedge::is(Type::Enum v) const { return v == Type::IfcSubedge || IfcEdge::is(v); } Type::Enum IfcSubedge::type() const { return Type::IfcSubedge; } Type::Enum IfcSubedge::Class() { return Type::IfcSubedge; } @@ -13345,13 +12844,13 @@ IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) // Function implementations for IfcSurfaceCurveSweptAreaSolid IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceCurveSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceCurveSweptAreaSolid::Directrix(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSurfaceCurveSweptAreaSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSurfaceCurveSweptAreaSolid::StartParam(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSurfaceCurveSweptAreaSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSurfaceCurveSweptAreaSolid::EndParam(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcSurfaceCurveSweptAreaSolid::ReferenceSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcSurfaceCurveSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSurfaceCurveSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcSurfaceCurveSweptAreaSolid::type() const { return Type::IfcSurfaceCurveSweptAreaSolid; } Type::Enum IfcSurfaceCurveSweptAreaSolid::Class() { return Type::IfcSurfaceCurveSweptAreaSolid; } @@ -13360,9 +12859,9 @@ IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_S // Function implementations for IfcSurfaceOfLinearExtrusion IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceOfLinearExtrusion::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceOfLinearExtrusion::ExtrudedDirection(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } -void IfcSurfaceOfLinearExtrusion::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSurfaceOfLinearExtrusion::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcSurfaceOfLinearExtrusion::is(Type::Enum v) const { return v == Type::IfcSurfaceOfLinearExtrusion || IfcSweptSurface::is(v); } Type::Enum IfcSurfaceOfLinearExtrusion::type() const { return Type::IfcSurfaceOfLinearExtrusion; } Type::Enum IfcSurfaceOfLinearExtrusion::Class() { return Type::IfcSurfaceOfLinearExtrusion; } @@ -13371,7 +12870,7 @@ IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_Swept // Function implementations for IfcSurfaceOfRevolution IfcAxis1Placement* IfcSurfaceOfRevolution::AxisPosition() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceOfRevolution::setAxisPosition(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceOfRevolution::AxisPosition(IfcAxis1Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcSurfaceOfRevolution::is(Type::Enum v) const { return v == Type::IfcSurfaceOfRevolution || IfcSweptSurface::is(v); } Type::Enum IfcSurfaceOfRevolution::type() const { return Type::IfcSurfaceOfRevolution; } Type::Enum IfcSurfaceOfRevolution::Class() { return Type::IfcSurfaceOfRevolution; } @@ -13380,9 +12879,9 @@ IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcProfileDef* v1_SweptCurve, Ifc // Function implementations for IfcSurfaceStyle IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() const { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } -void IfcSurfaceStyle::setSide(IfcSurfaceSide::IfcSurfaceSide v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcSurfaceSide::ToString(v)); } +void IfcSurfaceStyle::Side(IfcSurfaceSide::IfcSurfaceSide v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcSurfaceSide::ToString(v));; } IfcEntityList::ptr IfcSurfaceStyle::Styles() const { return *entity->getArgument(2); } -void IfcSurfaceStyle::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceStyle::Styles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcSurfaceStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSurfaceStyle::type() const { return Type::IfcSurfaceStyle; } Type::Enum IfcSurfaceStyle::Class() { return Type::IfcSurfaceStyle; } @@ -13391,13 +12890,13 @@ IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, IfcSurf // Function implementations for IfcSurfaceStyleLighting IfcColourRgb* IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSurfaceStyleLighting::setDiffuseTransmissionColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSurfaceStyleLighting::DiffuseTransmissionColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcColourRgb* IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSurfaceStyleLighting::setDiffuseReflectionColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSurfaceStyleLighting::DiffuseReflectionColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcColourRgb* IfcSurfaceStyleLighting::TransmissionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceStyleLighting::setTransmissionColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceStyleLighting::TransmissionColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcColourRgb* IfcSurfaceStyleLighting::ReflectanceColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcSurfaceStyleLighting::setReflectanceColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSurfaceStyleLighting::ReflectanceColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcSurfaceStyleLighting::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleLighting; } Type::Enum IfcSurfaceStyleLighting::type() const { return Type::IfcSurfaceStyleLighting; } Type::Enum IfcSurfaceStyleLighting::Class() { return Type::IfcSurfaceStyleLighting; } @@ -13405,12 +12904,10 @@ IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcAbstractEntity* e) : IfcUtil IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcColourRgb* v1_DiffuseTransmissionColour, IfcColourRgb* v2_DiffuseReflectionColour, IfcColourRgb* v3_TransmissionColour, IfcColourRgb* v4_ReflectanceColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DiffuseTransmissionColour)); e->setArgument(1,(v2_DiffuseReflectionColour)); e->setArgument(2,(v3_TransmissionColour)); e->setArgument(3,(v4_ReflectanceColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRefraction -bool IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !entity->getArgument(0)->isNull(); } -double IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } -void IfcSurfaceStyleRefraction::setRefractionIndex(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !entity->getArgument(1)->isNull(); } -double IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRefraction::setDispersionFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< double > IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } +void IfcSurfaceStyleRefraction::RefractionIndex(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< double > IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRefraction::DispersionFactor(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcSurfaceStyleRefraction::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::type() const { return Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::Class() { return Type::IfcSurfaceStyleRefraction; } @@ -13418,38 +12915,31 @@ IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntity* e) : Ifc IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRendering -bool IfcSurfaceStyleRendering::hasTransparency() const { return !entity->getArgument(1)->isNull(); } -double IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRendering::setTransparency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceStyleRendering::hasDiffuseColour() const { return !entity->getArgument(2)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceStyleRendering::hasTransmissionColour() const { return !entity->getArgument(3)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::TransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !entity->getArgument(4)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcSurfaceStyleRendering::hasReflectionColour() const { return !entity->getArgument(5)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::ReflectionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSurfaceStyleRendering::hasSpecularColour() const { return !entity->getArgument(6)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::SpecularColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !entity->getArgument(7)->isNull(); } -IfcSpecularHighlightSelect* IfcSurfaceStyleRendering::SpecularHighlight() const { return (IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRendering::Transparency(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::DiffuseColour() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::DiffuseColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::TransmissionColour() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::TransmissionColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::DiffuseTransmissionColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::ReflectionColour() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::ReflectionColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::SpecularColour() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::SpecularColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcSpecularHighlightSelect* > IfcSurfaceStyleRendering::SpecularHighlight() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::SpecularHighlight(boost::optional< IfcSpecularHighlightSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() const { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } -void IfcSurfaceStyleRendering::setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v)); } +void IfcSurfaceStyleRendering::ReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v));; } bool IfcSurfaceStyleRendering::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRendering || IfcSurfaceStyleShading::is(v); } Type::Enum IfcSurfaceStyleRendering::type() const { return Type::IfcSurfaceStyleRendering; } Type::Enum IfcSurfaceStyleRendering::Class() { return Type::IfcSurfaceStyleRendering; } IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntity* e) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } e->setArgument(2,(v3_DiffuseColour)); e->setArgument(3,(v4_TransmissionColour)); e->setArgument(4,(v5_DiffuseTransmissionColour)); e->setArgument(5,(v6_ReflectionColour)); e->setArgument(6,(v7_SpecularColour)); e->setArgument(7,(v8_SpecularHighlight)); e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, boost::optional< IfcColourOrFactor* > v3_DiffuseColour, boost::optional< IfcColourOrFactor* > v4_TransmissionColour, boost::optional< IfcColourOrFactor* > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor* > v6_ReflectionColour, boost::optional< IfcColourOrFactor* > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect* > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleShading IfcColourRgb* IfcSurfaceStyleShading::SurfaceColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSurfaceStyleShading::setSurfaceColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSurfaceStyleShading::SurfaceColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcSurfaceStyleShading::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleShading; } Type::Enum IfcSurfaceStyleShading::type() const { return Type::IfcSurfaceStyleShading; } Type::Enum IfcSurfaceStyleShading::Class() { return Type::IfcSurfaceStyleShading; } @@ -13458,7 +12948,7 @@ IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcColourRgb* v1_SurfaceColour) : // Function implementations for IfcSurfaceStyleWithTextures IfcTemplatedEntityList< IfcSurfaceTexture >::ptr IfcSurfaceStyleWithTextures::Textures() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcSurfaceStyleWithTextures::setTextures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcSurfaceStyleWithTextures::Textures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcSurfaceStyleWithTextures::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleWithTextures; } Type::Enum IfcSurfaceStyleWithTextures::type() const { return Type::IfcSurfaceStyleWithTextures; } Type::Enum IfcSurfaceStyleWithTextures::Class() { return Type::IfcSurfaceStyleWithTextures; } @@ -13467,25 +12957,24 @@ IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcTemplatedEntityList< // Function implementations for IfcSurfaceTexture bool IfcSurfaceTexture::RepeatS() const { return *entity->getArgument(0); } -void IfcSurfaceTexture::setRepeatS(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSurfaceTexture::RepeatS(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcSurfaceTexture::RepeatT() const { return *entity->getArgument(1); } -void IfcSurfaceTexture::setRepeatT(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSurfaceTexture::RepeatT(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcSurfaceTextureEnum::IfcSurfaceTextureEnum IfcSurfaceTexture::TextureType() const { return IfcSurfaceTextureEnum::FromString(*entity->getArgument(2)); } -void IfcSurfaceTexture::setTextureType(IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcSurfaceTextureEnum::ToString(v)); } -bool IfcSurfaceTexture::hasTextureTransform() const { return !entity->getArgument(3)->isNull(); } -IfcCartesianTransformationOperator2D* IfcSurfaceTexture::TextureTransform() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcSurfaceTexture::setTextureTransform(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSurfaceTexture::TextureType(IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcSurfaceTextureEnum::ToString(v));; } +boost::optional< IfcCartesianTransformationOperator2D* > IfcSurfaceTexture::TextureTransform() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceTexture::TextureTransform(boost::optional< IfcCartesianTransformationOperator2D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcSurfaceTexture::is(Type::Enum v) const { return v == Type::IfcSurfaceTexture; } Type::Enum IfcSurfaceTexture::type() const { return Type::IfcSurfaceTexture; } Type::Enum IfcSurfaceTexture::Class() { return Type::IfcSurfaceTexture; } IfcSurfaceTexture::IfcSurfaceTexture(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptAreaSolid IfcProfileDef* IfcSweptAreaSolid::SweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSweptAreaSolid::setSweptArea(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSweptAreaSolid::SweptArea(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcAxis2Placement3D* IfcSweptAreaSolid::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSweptAreaSolid::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSweptAreaSolid::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSweptAreaSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptAreaSolid::type() const { return Type::IfcSweptAreaSolid; } Type::Enum IfcSweptAreaSolid::Class() { return Type::IfcSweptAreaSolid; } @@ -13494,16 +12983,15 @@ IfcSweptAreaSolid::IfcSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placem // Function implementations for IfcSweptDiskSolid IfcCurve* IfcSweptDiskSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSweptDiskSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSweptDiskSolid::Directrix(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } -void IfcSweptDiskSolid::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSweptDiskSolid::hasInnerRadius() const { return !entity->getArgument(2)->isNull(); } -double IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } -void IfcSweptDiskSolid::setInnerRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSweptDiskSolid::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< double > IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } +void IfcSweptDiskSolid::InnerRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } double IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSweptDiskSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSweptDiskSolid::StartParam(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSweptDiskSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSweptDiskSolid::EndParam(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcSweptDiskSolid::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptDiskSolid::type() const { return Type::IfcSweptDiskSolid; } Type::Enum IfcSweptDiskSolid::Class() { return Type::IfcSweptDiskSolid; } @@ -13512,9 +13000,9 @@ IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, double v2_Radius, b // Function implementations for IfcSweptSurface IfcProfileDef* IfcSweptSurface::SweptCurve() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSweptSurface::setSweptCurve(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSweptSurface::SweptCurve(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcAxis2Placement3D* IfcSweptSurface::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSweptSurface::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSweptSurface::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcSweptSurface::is(Type::Enum v) const { return v == Type::IfcSweptSurface || IfcSurface::is(v); } Type::Enum IfcSweptSurface::type() const { return Type::IfcSweptSurface; } Type::Enum IfcSweptSurface::Class() { return Type::IfcSweptSurface; } @@ -13523,7 +13011,7 @@ IfcSweptSurface::IfcSweptSurface(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement // Function implementations for IfcSwitchingDeviceType IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDeviceType::PredefinedType() const { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSwitchingDeviceType::setPredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSwitchingDeviceTypeEnum::ToString(v)); } +void IfcSwitchingDeviceType::PredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSwitchingDeviceTypeEnum::ToString(v));; } bool IfcSwitchingDeviceType::is(Type::Enum v) const { return v == Type::IfcSwitchingDeviceType || IfcFlowControllerType::is(v); } Type::Enum IfcSwitchingDeviceType::type() const { return Type::IfcSwitchingDeviceType; } Type::Enum IfcSwitchingDeviceType::Class() { return Type::IfcSwitchingDeviceType; } @@ -13532,7 +13020,7 @@ IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, IfcOwner // Function implementations for IfcSymbolStyle IfcSymbolStyleSelect* IfcSymbolStyle::StyleOfSymbol() const { return (IfcSymbolStyleSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSymbolStyle::setStyleOfSymbol(IfcSymbolStyleSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSymbolStyle::StyleOfSymbol(IfcSymbolStyleSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcSymbolStyle::is(Type::Enum v) const { return v == Type::IfcSymbolStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSymbolStyle::type() const { return Type::IfcSymbolStyle; } Type::Enum IfcSymbolStyle::Class() { return Type::IfcSymbolStyle; } @@ -13556,31 +13044,25 @@ IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_Glob // Function implementations for IfcTShapeProfileDef double IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcTShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcTShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTShapeProfileDef::FlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcTShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcTShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcTShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcTShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } -void IfcTShapeProfileDef::setFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTShapeProfileDef::hasWebEdgeRadius() const { return !entity->getArgument(9)->isNull(); } -double IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } -void IfcTShapeProfileDef::setWebEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTShapeProfileDef::hasWebSlope() const { return !entity->getArgument(10)->isNull(); } -double IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } -void IfcTShapeProfileDef::setWebSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(11)->isNull(); } -double IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } -void IfcTShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(12)->isNull(); } -double IfcTShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(12); } -void IfcTShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcTShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcTShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } +void IfcTShapeProfileDef::FlangeEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } +void IfcTShapeProfileDef::WebEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } +void IfcTShapeProfileDef::WebSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } +void IfcTShapeProfileDef::FlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcTShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(12); } +void IfcTShapeProfileDef::CentreOfGravityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcTShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcTShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTShapeProfileDef::type() const { return Type::IfcTShapeProfileDef; } Type::Enum IfcTShapeProfileDef::Class() { return Type::IfcTShapeProfileDef; } @@ -13589,9 +13071,9 @@ IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum // Function implementations for IfcTable std::string IfcTable::Name() const { return *entity->getArgument(0); } -void IfcTable::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTable::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcTableRow >::ptr IfcTable::Rows() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTable::setRows(IfcTemplatedEntityList< IfcTableRow >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcTable::Rows(IfcTemplatedEntityList< IfcTableRow >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcTable::is(Type::Enum v) const { return v == Type::IfcTable; } Type::Enum IfcTable::type() const { return Type::IfcTable; } Type::Enum IfcTable::Class() { return Type::IfcTable; } @@ -13600,9 +13082,9 @@ IfcTable::IfcTable(std::string v1_Name, IfcTemplatedEntityList< IfcTableRow >::p // Function implementations for IfcTableRow IfcEntityList::ptr IfcTableRow::RowCells() const { return *entity->getArgument(0); } -void IfcTableRow::setRowCells(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTableRow::RowCells(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } -void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTableRow::IsHeading(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable, 1)->as(); } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } Type::Enum IfcTableRow::type() const { return Type::IfcTableRow; } @@ -13612,7 +13094,7 @@ IfcTableRow::IfcTableRow(IfcEntityList::ptr v1_RowCells, bool v2_IsHeading) : If // Function implementations for IfcTankType IfcTankTypeEnum::IfcTankTypeEnum IfcTankType::PredefinedType() const { return IfcTankTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTankType::setPredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTankTypeEnum::ToString(v)); } +void IfcTankType::PredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTankTypeEnum::ToString(v));; } bool IfcTankType::is(Type::Enum v) const { return v == Type::IfcTankType || IfcFlowStorageDeviceType::is(v); } Type::Enum IfcTankType::type() const { return Type::IfcTankType; } Type::Enum IfcTankType::Class() { return Type::IfcTankType; } @@ -13621,18 +13103,15 @@ IfcTankType::IfcTankType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcTask std::string IfcTask::TaskId() const { return *entity->getArgument(5); } -void IfcTask::setTaskId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTask::hasStatus() const { return !entity->getArgument(6)->isNull(); } -std::string IfcTask::Status() const { return *entity->getArgument(6); } -void IfcTask::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTask::hasWorkMethod() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTask::WorkMethod() const { return *entity->getArgument(7); } -void IfcTask::setWorkMethod(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcTask::TaskId(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< std::string > IfcTask::Status() const { return *entity->getArgument(6); } +void IfcTask::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcTask::WorkMethod() const { return *entity->getArgument(7); } +void IfcTask::WorkMethod(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcTask::IsMilestone() const { return *entity->getArgument(8); } -void IfcTask::setIsMilestone(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTask::hasPriority() const { return !entity->getArgument(9)->isNull(); } -int IfcTask::Priority() const { return *entity->getArgument(9); } -void IfcTask::setPriority(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcTask::IsMilestone(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< int > IfcTask::Priority() const { return *entity->getArgument(9); } +void IfcTask::Priority(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcTask::is(Type::Enum v) const { return v == Type::IfcTask || IfcProcess::is(v); } Type::Enum IfcTask::type() const { return Type::IfcTask; } Type::Enum IfcTask::Class() { return Type::IfcTask; } @@ -13640,21 +13119,16 @@ IfcTask::IfcTask(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if IfcTask::IfcTask(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTelecomAddress -bool IfcTelecomAddress::hasTelephoneNumbers() const { return !entity->getArgument(3)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } -void IfcTelecomAddress::setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTelecomAddress::hasFacsimileNumbers() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } -void IfcTelecomAddress::setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTelecomAddress::hasPagerNumber() const { return !entity->getArgument(5)->isNull(); } -std::string IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } -void IfcTelecomAddress::setPagerNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTelecomAddress::hasElectronicMailAddresses() const { return !entity->getArgument(6)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } -void IfcTelecomAddress::setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTelecomAddress::hasWWWHomePageURL() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } -void IfcTelecomAddress::setWWWHomePageURL(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } +void IfcTelecomAddress::TelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } +void IfcTelecomAddress::FacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } +void IfcTelecomAddress::PagerNumber(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } +void IfcTelecomAddress::ElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } +void IfcTelecomAddress::WWWHomePageURL(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } Type::Enum IfcTelecomAddress::type() const { return Type::IfcTelecomAddress; } Type::Enum IfcTelecomAddress::Class() { return Type::IfcTelecomAddress; } @@ -13663,55 +13137,50 @@ IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAdd // Function implementations for IfcTendon IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTendon::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } +void IfcTendon::PredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTendonTypeEnum::ToString(v));; } double IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } -void IfcTendon::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcTendon::NominalDiameter(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } double IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcTendon::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTendon::hasTensionForce() const { return !entity->getArgument(12)->isNull(); } -double IfcTendon::TensionForce() const { return *entity->getArgument(12); } -void IfcTendon::setTensionForce(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcTendon::hasPreStress() const { return !entity->getArgument(13)->isNull(); } -double IfcTendon::PreStress() const { return *entity->getArgument(13); } -void IfcTendon::setPreStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcTendon::hasFrictionCoefficient() const { return !entity->getArgument(14)->isNull(); } -double IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } -void IfcTendon::setFrictionCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcTendon::hasAnchorageSlip() const { return !entity->getArgument(15)->isNull(); } -double IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } -void IfcTendon::setAnchorageSlip(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcTendon::hasMinCurvatureRadius() const { return !entity->getArgument(16)->isNull(); } -double IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } -void IfcTendon::setMinCurvatureRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +void IfcTendon::CrossSectionArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } +boost::optional< double > IfcTendon::TensionForce() const { return *entity->getArgument(12); } +void IfcTendon::TensionForce(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcTendon::PreStress() const { return *entity->getArgument(13); } +void IfcTendon::PreStress(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } +void IfcTendon::FrictionCoefficient(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } +void IfcTendon::AnchorageSlip(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } +void IfcTendon::MinCurvatureRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } bool IfcTendon::is(Type::Enum v) const { return v == Type::IfcTendon || IfcReinforcingElement::is(v); } Type::Enum IfcTendon::type() const { return Type::IfcTendon; } Type::Enum IfcTendon::Class() { return Type::IfcTendon; } IfcTendon::IfcTendon(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendon::IfcTendon(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,(v11_NominalDiameter)); e->setArgument(11,(v12_CrossSectionArea)); if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcTendon::IfcTendon(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,(v11_NominalDiameter)); e->setArgument(11,(v12_CrossSectionArea)); if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchor bool IfcTendonAnchor::is(Type::Enum v) const { return v == Type::IfcTendonAnchor || IfcReinforcingElement::is(v); } Type::Enum IfcTendonAnchor::type() const { return Type::IfcTendonAnchor; } Type::Enum IfcTendonAnchor::Class() { return Type::IfcTendonAnchor; } IfcTendonAnchor::IfcTendonAnchor(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTerminatorSymbol IfcAnnotationCurveOccurrence* IfcTerminatorSymbol::AnnotatedCurve() const { return (IfcAnnotationCurveOccurrence*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTerminatorSymbol::setAnnotatedCurve(IfcAnnotationCurveOccurrence* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTerminatorSymbol::AnnotatedCurve(IfcAnnotationCurveOccurrence* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcTerminatorSymbol::is(Type::Enum v) const { return v == Type::IfcTerminatorSymbol || IfcAnnotationSymbolOccurrence::is(v); } Type::Enum IfcTerminatorSymbol::type() const { return Type::IfcTerminatorSymbol; } Type::Enum IfcTerminatorSymbol::Class() { return Type::IfcTerminatorSymbol; } IfcTerminatorSymbol::IfcTerminatorSymbol(IfcAbstractEntity* e) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTerminatorSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTerminatorSymbol::IfcTerminatorSymbol(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); entity = e; EntityBuffer::Add(this); } +IfcTerminatorSymbol::IfcTerminatorSymbol(boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteral std::string IfcTextLiteral::Literal() const { return *entity->getArgument(0); } -void IfcTextLiteral::setLiteral(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTextLiteral::Literal(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcAxis2Placement* IfcTextLiteral::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTextLiteral::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTextLiteral::Placement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTextPath::IfcTextPath IfcTextLiteral::Path() const { return IfcTextPath::FromString(*entity->getArgument(2)); } -void IfcTextLiteral::setPath(IfcTextPath::IfcTextPath v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcTextPath::ToString(v)); } +void IfcTextLiteral::Path(IfcTextPath::IfcTextPath v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcTextPath::ToString(v));; } bool IfcTextLiteral::is(Type::Enum v) const { return v == Type::IfcTextLiteral || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTextLiteral::type() const { return Type::IfcTextLiteral; } Type::Enum IfcTextLiteral::Class() { return Type::IfcTextLiteral; } @@ -13720,9 +13189,9 @@ IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, IfcAxis2Placement* v2_Pla // Function implementations for IfcTextLiteralWithExtent IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() const { return (IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTextLiteralWithExtent::setExtent(IfcPlanarExtent* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTextLiteralWithExtent::Extent(IfcPlanarExtent* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } std::string IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } -void IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTextLiteralWithExtent::BoxAlignment(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcTextLiteralWithExtent::is(Type::Enum v) const { return v == Type::IfcTextLiteralWithExtent || IfcTextLiteral::is(v); } Type::Enum IfcTextLiteralWithExtent::type() const { return Type::IfcTextLiteralWithExtent; } Type::Enum IfcTextLiteralWithExtent::Class() { return Type::IfcTextLiteralWithExtent; } @@ -13730,35 +13199,29 @@ IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntity* e) : IfcTe IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyle -bool IfcTextStyle::hasTextCharacterAppearance() const { return !entity->getArgument(1)->isNull(); } -IfcCharacterStyleSelect* IfcTextStyle::TextCharacterAppearance() const { return (IfcCharacterStyleSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTextStyle::setTextCharacterAppearance(IfcCharacterStyleSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyle::hasTextStyle() const { return !entity->getArgument(2)->isNull(); } -IfcTextStyleSelect* IfcTextStyle::TextStyle() const { return (IfcTextStyleSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcTextStyle::setTextStyle(IfcTextStyleSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcCharacterStyleSelect* > IfcTextStyle::TextCharacterAppearance() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcCharacterStyleSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyle::TextCharacterAppearance(boost::optional< IfcCharacterStyleSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcTextStyleSelect* > IfcTextStyle::TextStyle() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcTextStyleSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyle::TextStyle(boost::optional< IfcTextStyleSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcTextFontSelect* IfcTextStyle::TextFontStyle() const { return (IfcTextFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTextStyle::setTextFontStyle(IfcTextFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTextStyle::TextFontStyle(IfcTextFontSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcTextStyle::is(Type::Enum v) const { return v == Type::IfcTextStyle || IfcPresentationStyle::is(v); } Type::Enum IfcTextStyle::type() const { return Type::IfcTextStyle; } Type::Enum IfcTextStyle::Class() { return Type::IfcTextStyle; } IfcTextStyle::IfcTextStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, IfcCharacterStyleSelect* v2_TextCharacterAppearance, IfcTextStyleSelect* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TextCharacterAppearance)); e->setArgument(2,(v3_TextStyle)); e->setArgument(3,(v4_TextFontStyle)); entity = e; EntityBuffer::Add(this); } +IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, boost::optional< IfcCharacterStyleSelect* > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect* > v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TextCharacterAppearance) { e->setArgument(1,(*v2_TextCharacterAppearance)); } else { e->setArgument(1); } if (v3_TextStyle) { e->setArgument(2,(*v3_TextStyle)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextFontStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleFontModel -bool IfcTextStyleFontModel::hasFontFamily() const { return !entity->getArgument(1)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } -void IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleFontModel::hasFontStyle() const { return !entity->getArgument(2)->isNull(); } -std::string IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } -void IfcTextStyleFontModel::setFontStyle(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleFontModel::hasFontVariant() const { return !entity->getArgument(3)->isNull(); } -std::string IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } -void IfcTextStyleFontModel::setFontVariant(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleFontModel::hasFontWeight() const { return !entity->getArgument(4)->isNull(); } -std::string IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } -void IfcTextStyleFontModel::setFontWeight(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } +void IfcTextStyleFontModel::FontFamily(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } +void IfcTextStyleFontModel::FontStyle(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } +void IfcTextStyleFontModel::FontVariant(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } +void IfcTextStyleFontModel::FontWeight(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcSizeSelect* IfcTextStyleFontModel::FontSize() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcTextStyleFontModel::setFontSize(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcTextStyleFontModel::FontSize(IfcSizeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcTextStyleFontModel::is(Type::Enum v) const { return v == Type::IfcTextStyleFontModel || IfcPreDefinedTextFont::is(v); } Type::Enum IfcTextStyleFontModel::type() const { return Type::IfcTextStyleFontModel; } Type::Enum IfcTextStyleFontModel::Class() { return Type::IfcTextStyleFontModel; } @@ -13767,65 +13230,52 @@ IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, boost::optiona // Function implementations for IfcTextStyleForDefinedFont IfcColour* IfcTextStyleForDefinedFont::Colour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTextStyleForDefinedFont::setColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !entity->getArgument(1)->isNull(); } -IfcColour* IfcTextStyleForDefinedFont::BackgroundColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTextStyleForDefinedFont::Colour(IfcColour* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcColour* > IfcTextStyleForDefinedFont::BackgroundColour() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleForDefinedFont::BackgroundColour(boost::optional< IfcColour* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcTextStyleForDefinedFont::is(Type::Enum v) const { return v == Type::IfcTextStyleForDefinedFont; } Type::Enum IfcTextStyleForDefinedFont::type() const { return Type::IfcTextStyleForDefinedFont; } Type::Enum IfcTextStyleForDefinedFont::Class() { return Type::IfcTextStyleForDefinedFont; } IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour* v1_Colour, IfcColour* v2_BackgroundColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); e->setArgument(1,(v2_BackgroundColour)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour* v1_Colour, boost::optional< IfcColour* > v2_BackgroundColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleTextModel -bool IfcTextStyleTextModel::hasTextIndent() const { return !entity->getArgument(0)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::TextIndent() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleTextModel::hasTextAlign() const { return !entity->getArgument(1)->isNull(); } -std::string IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } -void IfcTextStyleTextModel::setTextAlign(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleTextModel::hasTextDecoration() const { return !entity->getArgument(2)->isNull(); } -std::string IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } -void IfcTextStyleTextModel::setTextDecoration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleTextModel::hasLetterSpacing() const { return !entity->getArgument(3)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::LetterSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleTextModel::hasWordSpacing() const { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::WordSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTextStyleTextModel::hasTextTransform() const { return !entity->getArgument(5)->isNull(); } -std::string IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } -void IfcTextStyleTextModel::setTextTransform(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTextStyleTextModel::hasLineHeight() const { return !entity->getArgument(6)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::LineHeight() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::TextIndent() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::TextIndent(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } +void IfcTextStyleTextModel::TextAlign(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } +void IfcTextStyleTextModel::TextDecoration(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::LetterSpacing() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::LetterSpacing(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::WordSpacing() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::WordSpacing(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } +void IfcTextStyleTextModel::TextTransform(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::LineHeight() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::LineHeight(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcTextStyleTextModel::is(Type::Enum v) const { return v == Type::IfcTextStyleTextModel; } Type::Enum IfcTextStyleTextModel::type() const { return Type::IfcTextStyleTextModel; } Type::Enum IfcTextStyleTextModel::Class() { return Type::IfcTextStyleTextModel; } IfcTextStyleTextModel::IfcTextStyleTextModel(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleTextModel::IfcTextStyleTextModel(IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextIndent)); if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } e->setArgument(3,(v4_LetterSpacing)); e->setArgument(4,(v5_WordSpacing)); if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } e->setArgument(6,(v7_LineHeight)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect* > v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, boost::optional< IfcSizeSelect* > v4_LetterSpacing, boost::optional< IfcSizeSelect* > v5_WordSpacing, boost::optional< std::string > v6_TextTransform, boost::optional< IfcSizeSelect* > v7_LineHeight) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleWithBoxCharacteristics -bool IfcTextStyleWithBoxCharacteristics::hasBoxHeight() const { return !entity->getArgument(0)->isNull(); } -double IfcTextStyleWithBoxCharacteristics::BoxHeight() const { return *entity->getArgument(0); } -void IfcTextStyleWithBoxCharacteristics::setBoxHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleWithBoxCharacteristics::hasBoxWidth() const { return !entity->getArgument(1)->isNull(); } -double IfcTextStyleWithBoxCharacteristics::BoxWidth() const { return *entity->getArgument(1); } -void IfcTextStyleWithBoxCharacteristics::setBoxWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleWithBoxCharacteristics::hasBoxSlantAngle() const { return !entity->getArgument(2)->isNull(); } -double IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { return *entity->getArgument(2); } -void IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleWithBoxCharacteristics::hasBoxRotateAngle() const { return !entity->getArgument(3)->isNull(); } -double IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { return *entity->getArgument(3); } -void IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleWithBoxCharacteristics::hasCharacterSpacing() const { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect* IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcTextStyleWithBoxCharacteristics::BoxHeight() const { return *entity->getArgument(0); } +void IfcTextStyleWithBoxCharacteristics::BoxHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< double > IfcTextStyleWithBoxCharacteristics::BoxWidth() const { return *entity->getArgument(1); } +void IfcTextStyleWithBoxCharacteristics::BoxWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { return *entity->getArgument(2); } +void IfcTextStyleWithBoxCharacteristics::BoxSlantAngle(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { return *entity->getArgument(3); } +void IfcTextStyleWithBoxCharacteristics::BoxRotateAngle(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcSizeSelect* > IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleWithBoxCharacteristics::CharacterSpacing(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcTextStyleWithBoxCharacteristics::is(Type::Enum v) const { return v == Type::IfcTextStyleWithBoxCharacteristics; } Type::Enum IfcTextStyleWithBoxCharacteristics::type() const { return Type::IfcTextStyleWithBoxCharacteristics; } Type::Enum IfcTextStyleWithBoxCharacteristics::Class() { return Type::IfcTextStyleWithBoxCharacteristics; } IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleWithBoxCharacteristics)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, IfcSizeSelect* v5_CharacterSpacing) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_BoxHeight) { e->setArgument(0,(*v1_BoxHeight)); } else { e->setArgument(0); } if (v2_BoxWidth) { e->setArgument(1,(*v2_BoxWidth)); } else { e->setArgument(1); } if (v3_BoxSlantAngle) { e->setArgument(2,(*v3_BoxSlantAngle)); } else { e->setArgument(2); } if (v4_BoxRotateAngle) { e->setArgument(3,(*v4_BoxRotateAngle)); } else { e->setArgument(3); } e->setArgument(4,(v5_CharacterSpacing)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, boost::optional< IfcSizeSelect* > v5_CharacterSpacing) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_BoxHeight) { e->setArgument(0,(*v1_BoxHeight)); } else { e->setArgument(0); } if (v2_BoxWidth) { e->setArgument(1,(*v2_BoxWidth)); } else { e->setArgument(1); } if (v3_BoxSlantAngle) { e->setArgument(2,(*v3_BoxSlantAngle)); } else { e->setArgument(2); } if (v4_BoxRotateAngle) { e->setArgument(3,(*v4_BoxRotateAngle)); } else { e->setArgument(3); } if (v5_CharacterSpacing) { e->setArgument(4,(*v5_CharacterSpacing)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinate IfcAnnotationSurface::list::ptr IfcTextureCoordinate::AnnotatedSurface() const { return entity->getInverse(Type::IfcAnnotationSurface, 1)->as(); } @@ -13837,9 +13287,9 @@ IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity() { IfcWri // Function implementations for IfcTextureCoordinateGenerator std::string IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(0); } -void IfcTextureCoordinateGenerator::setMode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTextureCoordinateGenerator::Mode(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(1); } -void IfcTextureCoordinateGenerator::setParameter(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTextureCoordinateGenerator::Parameter(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcTextureCoordinateGenerator::is(Type::Enum v) const { return v == Type::IfcTextureCoordinateGenerator || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureCoordinateGenerator::type() const { return Type::IfcTextureCoordinateGenerator; } Type::Enum IfcTextureCoordinateGenerator::Class() { return Type::IfcTextureCoordinateGenerator; } @@ -13848,7 +13298,7 @@ IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode // Function implementations for IfcTextureMap IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr IfcTextureMap::TextureMaps() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcTextureMap::setTextureMaps(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcTextureMap::TextureMaps(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcTextureMap::is(Type::Enum v) const { return v == Type::IfcTextureMap || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureMap::type() const { return Type::IfcTextureMap; } Type::Enum IfcTextureMap::Class() { return Type::IfcTextureMap; } @@ -13857,7 +13307,7 @@ IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< IfcVertexBasedTextureMap >: // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } -void IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTextureVertex::Coordinates(std::vector< double > /*[2:2]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcTextureVertex::is(Type::Enum v) const { return v == Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::type() const { return Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::Class() { return Type::IfcTextureVertex; } @@ -13865,18 +13315,14 @@ IfcTextureVertex::IfcTextureVertex(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntit IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcThermalMaterialProperties -bool IfcThermalMaterialProperties::hasSpecificHeatCapacity() const { return !entity->getArgument(1)->isNull(); } -double IfcThermalMaterialProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } -void IfcThermalMaterialProperties::setSpecificHeatCapacity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcThermalMaterialProperties::hasBoilingPoint() const { return !entity->getArgument(2)->isNull(); } -double IfcThermalMaterialProperties::BoilingPoint() const { return *entity->getArgument(2); } -void IfcThermalMaterialProperties::setBoilingPoint(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcThermalMaterialProperties::hasFreezingPoint() const { return !entity->getArgument(3)->isNull(); } -double IfcThermalMaterialProperties::FreezingPoint() const { return *entity->getArgument(3); } -void IfcThermalMaterialProperties::setFreezingPoint(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcThermalMaterialProperties::hasThermalConductivity() const { return !entity->getArgument(4)->isNull(); } -double IfcThermalMaterialProperties::ThermalConductivity() const { return *entity->getArgument(4); } -void IfcThermalMaterialProperties::setThermalConductivity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcThermalMaterialProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } +void IfcThermalMaterialProperties::SpecificHeatCapacity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcThermalMaterialProperties::BoilingPoint() const { return *entity->getArgument(2); } +void IfcThermalMaterialProperties::BoilingPoint(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcThermalMaterialProperties::FreezingPoint() const { return *entity->getArgument(3); } +void IfcThermalMaterialProperties::FreezingPoint(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcThermalMaterialProperties::ThermalConductivity() const { return *entity->getArgument(4); } +void IfcThermalMaterialProperties::ThermalConductivity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcThermalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcThermalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcThermalMaterialProperties::type() const { return Type::IfcThermalMaterialProperties; } Type::Enum IfcThermalMaterialProperties::Class() { return Type::IfcThermalMaterialProperties; } @@ -13885,36 +13331,33 @@ IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcMaterial* v1_Mater // Function implementations for IfcTimeSeries std::string IfcTimeSeries::Name() const { return *entity->getArgument(0); } -void IfcTimeSeries::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTimeSeries::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcTimeSeries::Description() const { return *entity->getArgument(1); } -void IfcTimeSeries::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTimeSeries::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcTimeSeries::Description() const { return *entity->getArgument(1); } +void IfcTimeSeries::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcDateTimeSelect* IfcTimeSeries::StartTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcTimeSeries::setStartTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTimeSeries::StartTime(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcDateTimeSelect* IfcTimeSeries::EndTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTimeSeries::setEndTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTimeSeries::EndTime(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() const { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } -void IfcTimeSeries::setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v)); } +void IfcTimeSeries::TimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v));; } IfcDataOriginEnum::IfcDataOriginEnum IfcTimeSeries::DataOrigin() const { return IfcDataOriginEnum::FromString(*entity->getArgument(5)); } -void IfcTimeSeries::setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDataOriginEnum::ToString(v)); } -bool IfcTimeSeries::hasUserDefinedDataOrigin() const { return !entity->getArgument(6)->isNull(); } -std::string IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } -void IfcTimeSeries::setUserDefinedDataOrigin(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTimeSeries::hasUnit() const { return !entity->getArgument(7)->isNull(); } -IfcUnit* IfcTimeSeries::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcTimeSeries::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcTimeSeries::DataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcDataOriginEnum::ToString(v));; } +boost::optional< std::string > IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } +void IfcTimeSeries::UserDefinedDataOrigin(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcUnit* > IfcTimeSeries::Unit() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTimeSeries::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcTimeSeriesReferenceRelationship::list::ptr IfcTimeSeries::DocumentedBy() const { return entity->getInverse(Type::IfcTimeSeriesReferenceRelationship, 0)->as(); } bool IfcTimeSeries::is(Type::Enum v) const { return v == Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::type() const { return Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } IfcTimeSeries::IfcTimeSeries(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesReferenceRelationship IfcTimeSeries* IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries(IfcTimeSeries* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { return *entity->getArgument(1); } -void IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTimeSeriesReferenceRelationship::TimeSeriesReferences(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcTimeSeriesReferenceRelationship::is(Type::Enum v) const { return v == Type::IfcTimeSeriesReferenceRelationship; } Type::Enum IfcTimeSeriesReferenceRelationship::type() const { return Type::IfcTimeSeriesReferenceRelationship; } Type::Enum IfcTimeSeriesReferenceRelationship::Class() { return Type::IfcTimeSeriesReferenceRelationship; } @@ -13922,13 +13365,12 @@ IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcAbstra IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcTimeSeries* v1_ReferencedTimeSeries, IfcEntityList::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ReferencedTimeSeries)); e->setArgument(1,(v2_TimeSeriesReferences)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesSchedule -bool IfcTimeSeriesSchedule::hasApplicableDates() const { return !entity->getArgument(5)->isNull(); } -IfcEntityList::ptr IfcTimeSeriesSchedule::ApplicableDates() const { return *entity->getArgument(5); } -void IfcTimeSeriesSchedule::setApplicableDates(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< IfcEntityList::ptr > IfcTimeSeriesSchedule::ApplicableDates() const { return *entity->getArgument(5); } +void IfcTimeSeriesSchedule::ApplicableDates(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return IfcTimeSeriesScheduleTypeEnum::FromString(*entity->getArgument(6)); } -void IfcTimeSeriesSchedule::setTimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcTimeSeriesScheduleTypeEnum::ToString(v)); } +void IfcTimeSeriesSchedule::TimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcTimeSeriesScheduleTypeEnum::ToString(v));; } IfcTimeSeries* IfcTimeSeriesSchedule::TimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcTimeSeriesSchedule::setTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcTimeSeriesSchedule::TimeSeries(IfcTimeSeries* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } bool IfcTimeSeriesSchedule::is(Type::Enum v) const { return v == Type::IfcTimeSeriesSchedule || IfcControl::is(v); } Type::Enum IfcTimeSeriesSchedule::type() const { return Type::IfcTimeSeriesSchedule; } Type::Enum IfcTimeSeriesSchedule::Class() { return Type::IfcTimeSeriesSchedule; } @@ -13937,7 +13379,7 @@ IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, IfcOwnerHi // Function implementations for IfcTimeSeriesValue IfcEntityList::ptr IfcTimeSeriesValue::ListValues() const { return *entity->getArgument(0); } -void IfcTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTimeSeriesValue::ListValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcTimeSeriesValue; } Type::Enum IfcTimeSeriesValue::type() const { return Type::IfcTimeSeriesValue; } Type::Enum IfcTimeSeriesValue::Class() { return Type::IfcTimeSeriesValue; } @@ -13960,7 +13402,7 @@ IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v // Function implementations for IfcTransformerType IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerType::PredefinedType() const { return IfcTransformerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTransformerType::setPredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTransformerTypeEnum::ToString(v)); } +void IfcTransformerType::PredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTransformerTypeEnum::ToString(v));; } bool IfcTransformerType::is(Type::Enum v) const { return v == Type::IfcTransformerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcTransformerType::type() const { return Type::IfcTransformerType; } Type::Enum IfcTransformerType::Class() { return Type::IfcTransformerType; } @@ -13968,24 +13410,21 @@ IfcTransformerType::IfcTransformerType(IfcAbstractEntity* e) : IfcEnergyConversi IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElement -bool IfcTransportElement::hasOperationType() const { return !entity->getArgument(8)->isNull(); } -IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElement::OperationType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcTransportElement::setOperationType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcTransportElementTypeEnum::ToString(v)); } -bool IfcTransportElement::hasCapacityByWeight() const { return !entity->getArgument(9)->isNull(); } -double IfcTransportElement::CapacityByWeight() const { return *entity->getArgument(9); } -void IfcTransportElement::setCapacityByWeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTransportElement::hasCapacityByNumber() const { return !entity->getArgument(10)->isNull(); } -double IfcTransportElement::CapacityByNumber() const { return *entity->getArgument(10); } -void IfcTransportElement::setCapacityByNumber(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > IfcTransportElement::OperationType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcTransportElementTypeEnum::FromString(*arg); } } +void IfcTransportElement::OperationType(boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcTransportElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } +boost::optional< double > IfcTransportElement::CapacityByWeight() const { return *entity->getArgument(9); } +void IfcTransportElement::CapacityByWeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcTransportElement::CapacityByNumber() const { return *entity->getArgument(10); } +void IfcTransportElement::CapacityByNumber(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcTransportElement::is(Type::Enum v) const { return v == Type::IfcTransportElement || IfcElement::is(v); } Type::Enum IfcTransportElement::type() const { return Type::IfcTransportElement; } Type::Enum IfcTransportElement::Class() { return Type::IfcTransportElement; } IfcTransportElement::IfcTransportElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OperationType) { e->setArgument(8,*v9_OperationType,IfcTransportElementTypeEnum::ToString(*v9_OperationType)); } else { e->setArgument(8); } if (v10_CapacityByWeight) { e->setArgument(9,(*v10_CapacityByWeight)); } else { e->setArgument(9); } if (v11_CapacityByNumber) { e->setArgument(10,(*v11_CapacityByNumber)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OperationType) { e->setArgument(8,*v9_OperationType,IfcTransportElementTypeEnum::ToString(*v9_OperationType)); } else { e->setArgument(8); } if (v10_CapacityByWeight) { e->setArgument(9,(*v10_CapacityByWeight)); } else { e->setArgument(9); } if (v11_CapacityByNumber) { e->setArgument(10,(*v11_CapacityByNumber)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElementType IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementType::PredefinedType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTransportElementType::setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTransportElementTypeEnum::ToString(v)); } +void IfcTransportElementType::PredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTransportElementTypeEnum::ToString(v));; } bool IfcTransportElementType::is(Type::Enum v) const { return v == Type::IfcTransportElementType || IfcElementType::is(v); } Type::Enum IfcTransportElementType::type() const { return Type::IfcTransportElementType; } Type::Enum IfcTransportElementType::Class() { return Type::IfcTransportElementType; } @@ -13994,13 +13433,13 @@ IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, IfcOwn // Function implementations for IfcTrapeziumProfileDef double IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } -void IfcTrapeziumProfileDef::setBottomXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTrapeziumProfileDef::BottomXDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } -void IfcTrapeziumProfileDef::setTopXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTrapeziumProfileDef::TopXDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } -void IfcTrapeziumProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcTrapeziumProfileDef::YDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } -void IfcTrapeziumProfileDef::setTopXOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcTrapeziumProfileDef::TopXOffset(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcTrapeziumProfileDef::is(Type::Enum v) const { return v == Type::IfcTrapeziumProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTrapeziumProfileDef::type() const { return Type::IfcTrapeziumProfileDef; } Type::Enum IfcTrapeziumProfileDef::Class() { return Type::IfcTrapeziumProfileDef; } @@ -14009,15 +13448,15 @@ IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTyp // Function implementations for IfcTrimmedCurve IfcCurve* IfcTrimmedCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTrimmedCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTrimmedCurve::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcTrimmedCurve::Trim1() const { return *entity->getArgument(1); } -void IfcTrimmedCurve::setTrim1(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTrimmedCurve::Trim1(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcEntityList::ptr IfcTrimmedCurve::Trim2() const { return *entity->getArgument(2); } -void IfcTrimmedCurve::setTrim2(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTrimmedCurve::Trim2(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcTrimmedCurve::SenseAgreement() const { return *entity->getArgument(3); } -void IfcTrimmedCurve::setSenseAgreement(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTrimmedCurve::SenseAgreement(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() const { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } -void IfcTrimmedCurve::setMasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTrimmingPreference::ToString(v)); } +void IfcTrimmedCurve::MasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcTrimmingPreference::ToString(v));; } bool IfcTrimmedCurve::is(Type::Enum v) const { return v == Type::IfcTrimmedCurve || IfcBoundedCurve::is(v); } Type::Enum IfcTrimmedCurve::type() const { return Type::IfcTrimmedCurve; } Type::Enum IfcTrimmedCurve::Class() { return Type::IfcTrimmedCurve; } @@ -14026,7 +13465,7 @@ IfcTrimmedCurve::IfcTrimmedCurve(IfcCurve* v1_BasisCurve, IfcEntityList::ptr v2_ // Function implementations for IfcTubeBundleType IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundleType::PredefinedType() const { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTubeBundleType::setPredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTubeBundleTypeEnum::ToString(v)); } +void IfcTubeBundleType::PredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTubeBundleTypeEnum::ToString(v));; } bool IfcTubeBundleType::is(Type::Enum v) const { return v == Type::IfcTubeBundleType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcTubeBundleType::type() const { return Type::IfcTubeBundleType; } Type::Enum IfcTubeBundleType::Class() { return Type::IfcTubeBundleType; } @@ -14035,7 +13474,7 @@ IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, IfcOwnerHistory* v // Function implementations for IfcTwoDirectionRepeatFactor IfcVector* IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return (IfcVector*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTwoDirectionRepeatFactor::setSecondRepeatFactor(IfcVector* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTwoDirectionRepeatFactor::SecondRepeatFactor(IfcVector* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcTwoDirectionRepeatFactor::is(Type::Enum v) const { return v == Type::IfcTwoDirectionRepeatFactor || IfcOneDirectionRepeatFactor::is(v); } Type::Enum IfcTwoDirectionRepeatFactor::type() const { return Type::IfcTwoDirectionRepeatFactor; } Type::Enum IfcTwoDirectionRepeatFactor::Class() { return Type::IfcTwoDirectionRepeatFactor; } @@ -14043,12 +13482,10 @@ IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcAbstractEntity* e) : IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcVector* v1_RepeatFactor, IfcVector* v2_SecondRepeatFactor) : IfcOneDirectionRepeatFactor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatFactor)); e->setArgument(1,(v2_SecondRepeatFactor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeObject -bool IfcTypeObject::hasApplicableOccurrence() const { return !entity->getArgument(4)->isNull(); } -std::string IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } -void IfcTypeObject::setApplicableOccurrence(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTypeObject::hasHasPropertySets() const { return !entity->getArgument(5)->isNull(); } -IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +boost::optional< std::string > IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } +void IfcTypeObject::ApplicableOccurrence(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > IfcTypeObject::HasPropertySets() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcTypeObject::HasPropertySets(boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,(*v)->generalize());; } else { w->setArgument(5); } } IfcRelDefinesByType::list::ptr IfcTypeObject::ObjectTypeOf() const { return entity->getInverse(Type::IfcRelDefinesByType, 5)->as(); } bool IfcTypeObject::is(Type::Enum v) const { return v == Type::IfcTypeObject || IfcObjectDefinition::is(v); } Type::Enum IfcTypeObject::type() const { return Type::IfcTypeObject; } @@ -14057,12 +13494,10 @@ IfcTypeObject::IfcTypeObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbs IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProduct -bool IfcTypeProduct::hasRepresentationMaps() const { return !entity->getArgument(6)->isNull(); } -IfcTemplatedEntityList< IfcRepresentationMap >::ptr IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcTypeProduct::hasTag() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTypeProduct::Tag() const { return *entity->getArgument(7); } -void IfcTypeProduct::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > IfcTypeProduct::RepresentationMaps() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcTypeProduct::RepresentationMaps(boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,(*v)->generalize());; } else { w->setArgument(6); } } +boost::optional< std::string > IfcTypeProduct::Tag() const { return *entity->getArgument(7); } +void IfcTypeProduct::Tag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcTypeProduct::is(Type::Enum v) const { return v == Type::IfcTypeProduct || IfcTypeObject::is(v); } Type::Enum IfcTypeProduct::type() const { return Type::IfcTypeProduct; } Type::Enum IfcTypeProduct::Class() { return Type::IfcTypeProduct; } @@ -14071,25 +13506,21 @@ IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcUShapeProfileDef double IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcUShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcUShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcUShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcUShapeProfileDef::FlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcUShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcUShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcUShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcUShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcUShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcUShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcUShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcUShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } -double IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } -void IfcUShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcUShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(10)->isNull(); } -double IfcUShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(10); } -void IfcUShapeProfileDef::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcUShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcUShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcUShapeProfileDef::EdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } +void IfcUShapeProfileDef::FlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcUShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(10); } +void IfcUShapeProfileDef::CentreOfGravityInX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcUShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcUShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcUShapeProfileDef::type() const { return Type::IfcUShapeProfileDef; } Type::Enum IfcUShapeProfileDef::Class() { return Type::IfcUShapeProfileDef; } @@ -14098,7 +13529,7 @@ IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum // Function implementations for IfcUnitAssignment IfcEntityList::ptr IfcUnitAssignment::Units() const { return *entity->getArgument(0); } -void IfcUnitAssignment::setUnits(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcUnitAssignment::Units(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcUnitAssignment::is(Type::Enum v) const { return v == Type::IfcUnitAssignment; } Type::Enum IfcUnitAssignment::type() const { return Type::IfcUnitAssignment; } Type::Enum IfcUnitAssignment::Class() { return Type::IfcUnitAssignment; } @@ -14107,7 +13538,7 @@ IfcUnitAssignment::IfcUnitAssignment(IfcEntityList::ptr v1_Units) : IfcUtil::Ifc // Function implementations for IfcUnitaryEquipmentType IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipmentType::PredefinedType() const { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcUnitaryEquipmentType::setPredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcUnitaryEquipmentTypeEnum::ToString(v)); } +void IfcUnitaryEquipmentType::PredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcUnitaryEquipmentTypeEnum::ToString(v));; } bool IfcUnitaryEquipmentType::is(Type::Enum v) const { return v == Type::IfcUnitaryEquipmentType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcUnitaryEquipmentType::type() const { return Type::IfcUnitaryEquipmentType; } Type::Enum IfcUnitaryEquipmentType::Class() { return Type::IfcUnitaryEquipmentType; } @@ -14116,7 +13547,7 @@ IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, IfcOwn // Function implementations for IfcValveType IfcValveTypeEnum::IfcValveTypeEnum IfcValveType::PredefinedType() const { return IfcValveTypeEnum::FromString(*entity->getArgument(9)); } -void IfcValveType::setPredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcValveTypeEnum::ToString(v)); } +void IfcValveType::PredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcValveTypeEnum::ToString(v));; } bool IfcValveType::is(Type::Enum v) const { return v == Type::IfcValveType || IfcFlowControllerType::is(v); } Type::Enum IfcValveType::type() const { return Type::IfcValveType; } Type::Enum IfcValveType::Class() { return Type::IfcValveType; } @@ -14125,9 +13556,9 @@ IfcValveType::IfcValveType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHis // Function implementations for IfcVector IfcDirection* IfcVector::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcVector::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcVector::Orientation(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcVector::Magnitude() const { return *entity->getArgument(1); } -void IfcVector::setMagnitude(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcVector::Magnitude(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcVector::is(Type::Enum v) const { return v == Type::IfcVector || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcVector::type() const { return Type::IfcVector; } Type::Enum IfcVector::Class() { return Type::IfcVector; } @@ -14143,9 +13574,9 @@ IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) // Function implementations for IfcVertexBasedTextureMap IfcTemplatedEntityList< IfcTextureVertex >::ptr IfcVertexBasedTextureMap::TextureVertices() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcVertexBasedTextureMap::setTextureVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcVertexBasedTextureMap::TextureVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcVertexBasedTextureMap::TexturePoints() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcVertexBasedTextureMap::setTexturePoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcVertexBasedTextureMap::TexturePoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcVertexBasedTextureMap::is(Type::Enum v) const { return v == Type::IfcVertexBasedTextureMap; } Type::Enum IfcVertexBasedTextureMap::type() const { return Type::IfcVertexBasedTextureMap; } Type::Enum IfcVertexBasedTextureMap::Class() { return Type::IfcVertexBasedTextureMap; } @@ -14154,7 +13585,7 @@ IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(IfcTemplatedEntityList< IfcTe // Function implementations for IfcVertexLoop IfcVertex* IfcVertexLoop::LoopVertex() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcVertexLoop::setLoopVertex(IfcVertex* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcVertexLoop::LoopVertex(IfcVertex* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcVertexLoop::is(Type::Enum v) const { return v == Type::IfcVertexLoop || IfcLoop::is(v); } Type::Enum IfcVertexLoop::type() const { return Type::IfcVertexLoop; } Type::Enum IfcVertexLoop::Class() { return Type::IfcVertexLoop; } @@ -14163,7 +13594,7 @@ IfcVertexLoop::IfcVertexLoop(IfcVertex* v1_LoopVertex) : IfcLoop((IfcAbstractEnt // Function implementations for IfcVertexPoint IfcPoint* IfcVertexPoint::VertexGeometry() const { return (IfcPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcVertexPoint::setVertexGeometry(IfcPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcVertexPoint::VertexGeometry(IfcPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcVertexPoint::is(Type::Enum v) const { return v == Type::IfcVertexPoint || IfcVertex::is(v); } Type::Enum IfcVertexPoint::type() const { return Type::IfcVertexPoint; } Type::Enum IfcVertexPoint::Class() { return Type::IfcVertexPoint; } @@ -14172,7 +13603,7 @@ IfcVertexPoint::IfcVertexPoint(IfcPoint* v1_VertexGeometry) : IfcVertex((IfcAbst // Function implementations for IfcVibrationIsolatorType IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolatorType::PredefinedType() const { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcVibrationIsolatorType::setPredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcVibrationIsolatorTypeEnum::ToString(v)); } +void IfcVibrationIsolatorType::PredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcVibrationIsolatorTypeEnum::ToString(v));; } bool IfcVibrationIsolatorType::is(Type::Enum v) const { return v == Type::IfcVibrationIsolatorType || IfcDiscreteAccessoryType::is(v); } Type::Enum IfcVibrationIsolatorType::type() const { return Type::IfcVibrationIsolatorType; } Type::Enum IfcVibrationIsolatorType::Class() { return Type::IfcVibrationIsolatorType; } @@ -14184,13 +13615,13 @@ bool IfcVirtualElement::is(Type::Enum v) const { return v == Type::IfcVirtualEle Type::Enum IfcVirtualElement::type() const { return Type::IfcVirtualElement; } Type::Enum IfcVirtualElement::Class() { return Type::IfcVirtualElement; } IfcVirtualElement::IfcVirtualElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualGridIntersection IfcTemplatedEntityList< IfcGridAxis >::ptr IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcVirtualGridIntersection::IntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } std::vector< double > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } -void IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcVirtualGridIntersection::OffsetDistances(std::vector< double > /*[2:3]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcVirtualGridIntersection::is(Type::Enum v) const { return v == Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::type() const { return Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::Class() { return Type::IfcVirtualGridIntersection; } @@ -14202,18 +13633,18 @@ bool IfcWall::is(Type::Enum v) const { return v == Type::IfcWall || IfcBuildingE Type::Enum IfcWall::type() const { return Type::IfcWall; } Type::Enum IfcWall::Class() { return Type::IfcWall; } IfcWall::IfcWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWall::IfcWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcWall::IfcWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallStandardCase bool IfcWallStandardCase::is(Type::Enum v) const { return v == Type::IfcWallStandardCase || IfcWall::is(v); } Type::Enum IfcWallStandardCase::type() const { return Type::IfcWallStandardCase; } Type::Enum IfcWallStandardCase::Class() { return Type::IfcWallStandardCase; } IfcWallStandardCase::IfcWallStandardCase(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallType IfcWallTypeEnum::IfcWallTypeEnum IfcWallType::PredefinedType() const { return IfcWallTypeEnum::FromString(*entity->getArgument(9)); } -void IfcWallType::setPredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWallTypeEnum::ToString(v)); } +void IfcWallType::PredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWallTypeEnum::ToString(v));; } bool IfcWallType::is(Type::Enum v) const { return v == Type::IfcWallType || IfcBuildingElementType::is(v); } Type::Enum IfcWallType::type() const { return Type::IfcWallType; } Type::Enum IfcWallType::Class() { return Type::IfcWallType; } @@ -14222,7 +13653,7 @@ IfcWallType::IfcWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHisto // Function implementations for IfcWasteTerminalType IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalType::PredefinedType() const { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcWasteTerminalType::setPredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWasteTerminalTypeEnum::ToString(v)); } +void IfcWasteTerminalType::PredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWasteTerminalTypeEnum::ToString(v));; } bool IfcWasteTerminalType::is(Type::Enum v) const { return v == Type::IfcWasteTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcWasteTerminalType::type() const { return Type::IfcWasteTerminalType; } Type::Enum IfcWasteTerminalType::Class() { return Type::IfcWasteTerminalType; } @@ -14230,27 +13661,20 @@ IfcWasteTerminalType::IfcWasteTerminalType(IfcAbstractEntity* e) : IfcFlowTermin IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWaterProperties -bool IfcWaterProperties::hasIsPotable() const { return !entity->getArgument(1)->isNull(); } -bool IfcWaterProperties::IsPotable() const { return *entity->getArgument(1); } -void IfcWaterProperties::setIsPotable(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcWaterProperties::hasHardness() const { return !entity->getArgument(2)->isNull(); } -double IfcWaterProperties::Hardness() const { return *entity->getArgument(2); } -void IfcWaterProperties::setHardness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcWaterProperties::hasAlkalinityConcentration() const { return !entity->getArgument(3)->isNull(); } -double IfcWaterProperties::AlkalinityConcentration() const { return *entity->getArgument(3); } -void IfcWaterProperties::setAlkalinityConcentration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcWaterProperties::hasAcidityConcentration() const { return !entity->getArgument(4)->isNull(); } -double IfcWaterProperties::AcidityConcentration() const { return *entity->getArgument(4); } -void IfcWaterProperties::setAcidityConcentration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWaterProperties::hasImpuritiesContent() const { return !entity->getArgument(5)->isNull(); } -double IfcWaterProperties::ImpuritiesContent() const { return *entity->getArgument(5); } -void IfcWaterProperties::setImpuritiesContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcWaterProperties::hasPHLevel() const { return !entity->getArgument(6)->isNull(); } -double IfcWaterProperties::PHLevel() const { return *entity->getArgument(6); } -void IfcWaterProperties::setPHLevel(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWaterProperties::hasDissolvedSolidsContent() const { return !entity->getArgument(7)->isNull(); } -double IfcWaterProperties::DissolvedSolidsContent() const { return *entity->getArgument(7); } -void IfcWaterProperties::setDissolvedSolidsContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< bool > IfcWaterProperties::IsPotable() const { return *entity->getArgument(1); } +void IfcWaterProperties::IsPotable(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcWaterProperties::Hardness() const { return *entity->getArgument(2); } +void IfcWaterProperties::Hardness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcWaterProperties::AlkalinityConcentration() const { return *entity->getArgument(3); } +void IfcWaterProperties::AlkalinityConcentration(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcWaterProperties::AcidityConcentration() const { return *entity->getArgument(4); } +void IfcWaterProperties::AcidityConcentration(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcWaterProperties::ImpuritiesContent() const { return *entity->getArgument(5); } +void IfcWaterProperties::ImpuritiesContent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcWaterProperties::PHLevel() const { return *entity->getArgument(6); } +void IfcWaterProperties::PHLevel(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcWaterProperties::DissolvedSolidsContent() const { return *entity->getArgument(7); } +void IfcWaterProperties::DissolvedSolidsContent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcWaterProperties::is(Type::Enum v) const { return v == Type::IfcWaterProperties || IfcMaterialProperties::is(v); } Type::Enum IfcWaterProperties::type() const { return Type::IfcWaterProperties; } Type::Enum IfcWaterProperties::Class() { return Type::IfcWaterProperties; } @@ -14258,81 +13682,67 @@ IfcWaterProperties::IfcWaterProperties(IfcAbstractEntity* e) : IfcMaterialProper IfcWaterProperties::IfcWaterProperties(IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< double > v3_Hardness, boost::optional< double > v4_AlkalinityConcentration, boost::optional< double > v5_AcidityConcentration, boost::optional< double > v6_ImpuritiesContent, boost::optional< double > v7_PHLevel, boost::optional< double > v8_DissolvedSolidsContent) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_IsPotable) { e->setArgument(1,(*v2_IsPotable)); } else { e->setArgument(1); } if (v3_Hardness) { e->setArgument(2,(*v3_Hardness)); } else { e->setArgument(2); } if (v4_AlkalinityConcentration) { e->setArgument(3,(*v4_AlkalinityConcentration)); } else { e->setArgument(3); } if (v5_AcidityConcentration) { e->setArgument(4,(*v5_AcidityConcentration)); } else { e->setArgument(4); } if (v6_ImpuritiesContent) { e->setArgument(5,(*v6_ImpuritiesContent)); } else { e->setArgument(5); } if (v7_PHLevel) { e->setArgument(6,(*v7_PHLevel)); } else { e->setArgument(6); } if (v8_DissolvedSolidsContent) { e->setArgument(7,(*v8_DissolvedSolidsContent)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindow -bool IfcWindow::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -double IfcWindow::OverallHeight() const { return *entity->getArgument(8); } -void IfcWindow::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindow::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -double IfcWindow::OverallWidth() const { return *entity->getArgument(9); } -void IfcWindow::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcWindow::OverallHeight() const { return *entity->getArgument(8); } +void IfcWindow::OverallHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcWindow::OverallWidth() const { return *entity->getArgument(9); } +void IfcWindow::OverallWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcWindow::is(Type::Enum v) const { return v == Type::IfcWindow || IfcBuildingElement::is(v); } Type::Enum IfcWindow::type() const { return Type::IfcWindow; } Type::Enum IfcWindow::Class() { return Type::IfcWindow; } IfcWindow::IfcWindow(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindow::IfcWindow(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcWindow::IfcWindow(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowLiningProperties -bool IfcWindowLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -double IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcWindowLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWindowLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -double IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcWindowLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcWindowLiningProperties::hasTransomThickness() const { return !entity->getArgument(6)->isNull(); } -double IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } -void IfcWindowLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowLiningProperties::hasMullionThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } -void IfcWindowLiningProperties::setMullionThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowLiningProperties::hasFirstTransomOffset() const { return !entity->getArgument(8)->isNull(); } -double IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } -void IfcWindowLiningProperties::setFirstTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindowLiningProperties::hasSecondTransomOffset() const { return !entity->getArgument(9)->isNull(); } -double IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } -void IfcWindowLiningProperties::setSecondTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWindowLiningProperties::hasFirstMullionOffset() const { return !entity->getArgument(10)->isNull(); } -double IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } -void IfcWindowLiningProperties::setFirstMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcWindowLiningProperties::hasSecondMullionOffset() const { return !entity->getArgument(11)->isNull(); } -double IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } -void IfcWindowLiningProperties::setSecondMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWindowLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(12)->isNull(); } -IfcShapeAspect* IfcWindowLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcWindowLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +boost::optional< double > IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcWindowLiningProperties::LiningDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcWindowLiningProperties::LiningThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } +void IfcWindowLiningProperties::TransomThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } +void IfcWindowLiningProperties::MullionThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } +void IfcWindowLiningProperties::FirstTransomOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } +void IfcWindowLiningProperties::SecondTransomOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } +void IfcWindowLiningProperties::FirstMullionOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } +void IfcWindowLiningProperties::SecondMullionOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcShapeAspect* > IfcWindowLiningProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcWindowLiningProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcWindowLiningProperties::is(Type::Enum v) const { return v == Type::IfcWindowLiningProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcWindowLiningProperties::type() const { return Type::IfcWindowLiningProperties; } Type::Enum IfcWindowLiningProperties::Class() { return Type::IfcWindowLiningProperties; } IfcWindowLiningProperties::IfcWindowLiningProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, boost::optional< IfcShapeAspect* > v13_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } if (v13_ShapeAspectStyle) { e->setArgument(12,(*v13_ShapeAspectStyle)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowPanelProperties IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelProperties::OperationType() const { return IfcWindowPanelOperationEnum::FromString(*entity->getArgument(4)); } -void IfcWindowPanelProperties::setOperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcWindowPanelOperationEnum::ToString(v)); } +void IfcWindowPanelProperties::OperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcWindowPanelOperationEnum::ToString(v));; } IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } -void IfcWindowPanelProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } -bool IfcWindowPanelProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -double IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcWindowPanelProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowPanelProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcWindowPanelProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcWindowPanelProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcWindowPanelProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcWindowPanelProperties::PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v));; } +boost::optional< double > IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcWindowPanelProperties::FrameDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcWindowPanelProperties::FrameThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcShapeAspect* > IfcWindowPanelProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcWindowPanelProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcWindowPanelProperties::is(Type::Enum v) const { return v == Type::IfcWindowPanelProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcWindowPanelProperties::type() const { return Type::IfcWindowPanelProperties; } Type::Enum IfcWindowPanelProperties::Class() { return Type::IfcWindowPanelProperties; } IfcWindowPanelProperties::IfcWindowPanelProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } if (v9_ShapeAspectStyle) { e->setArgument(8,(*v9_ShapeAspectStyle)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStyle IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyle::ConstructionType() const { return IfcWindowStyleConstructionEnum::FromString(*entity->getArgument(8)); } -void IfcWindowStyle::setConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcWindowStyleConstructionEnum::ToString(v)); } +void IfcWindowStyle::ConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcWindowStyleConstructionEnum::ToString(v));; } IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum IfcWindowStyle::OperationType() const { return IfcWindowStyleOperationEnum::FromString(*entity->getArgument(9)); } -void IfcWindowStyle::setOperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWindowStyleOperationEnum::ToString(v)); } +void IfcWindowStyle::OperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWindowStyleOperationEnum::ToString(v));; } bool IfcWindowStyle::ParameterTakesPrecedence() const { return *entity->getArgument(10); } -void IfcWindowStyle::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcWindowStyle::ParameterTakesPrecedence(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcWindowStyle::Sizeable() const { return *entity->getArgument(11); } -void IfcWindowStyle::setSizeable(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcWindowStyle::Sizeable(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } bool IfcWindowStyle::is(Type::Enum v) const { return v == Type::IfcWindowStyle || IfcTypeProduct::is(v); } Type::Enum IfcWindowStyle::type() const { return Type::IfcWindowStyle; } Type::Enum IfcWindowStyle::Class() { return Type::IfcWindowStyle; } @@ -14341,67 +13751,58 @@ IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_Owne // Function implementations for IfcWorkControl std::string IfcWorkControl::Identifier() const { return *entity->getArgument(5); } -void IfcWorkControl::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcWorkControl::Identifier(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcDateTimeSelect* IfcWorkControl::CreationDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcWorkControl::setCreationDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWorkControl::hasCreators() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcPerson >::ptr IfcWorkControl::Creators() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcWorkControl::setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcWorkControl::hasPurpose() const { return !entity->getArgument(8)->isNull(); } -std::string IfcWorkControl::Purpose() const { return *entity->getArgument(8); } -void IfcWorkControl::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWorkControl::hasDuration() const { return !entity->getArgument(9)->isNull(); } -double IfcWorkControl::Duration() const { return *entity->getArgument(9); } -void IfcWorkControl::setDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWorkControl::hasTotalFloat() const { return !entity->getArgument(10)->isNull(); } -double IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } -void IfcWorkControl::setTotalFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcWorkControl::CreationDate(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > IfcWorkControl::Creators() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcWorkControl::Creators(boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< std::string > IfcWorkControl::Purpose() const { return *entity->getArgument(8); } +void IfcWorkControl::Purpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcWorkControl::Duration() const { return *entity->getArgument(9); } +void IfcWorkControl::Duration(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } +void IfcWorkControl::TotalFloat(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } IfcDateTimeSelect* IfcWorkControl::StartTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcWorkControl::setStartTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWorkControl::hasFinishTime() const { return !entity->getArgument(12)->isNull(); } -IfcDateTimeSelect* IfcWorkControl::FinishTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcWorkControl::setFinishTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcWorkControl::hasWorkControlType() const { return !entity->getArgument(13)->isNull(); } -IfcWorkControlTypeEnum::IfcWorkControlTypeEnum IfcWorkControl::WorkControlType() const { return IfcWorkControlTypeEnum::FromString(*entity->getArgument(13)); } -void IfcWorkControl::setWorkControlType(IfcWorkControlTypeEnum::IfcWorkControlTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcWorkControlTypeEnum::ToString(v)); } -bool IfcWorkControl::hasUserDefinedControlType() const { return !entity->getArgument(14)->isNull(); } -std::string IfcWorkControl::UserDefinedControlType() const { return *entity->getArgument(14); } -void IfcWorkControl::setUserDefinedControlType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +void IfcWorkControl::StartTime(IfcDateTimeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } +boost::optional< IfcDateTimeSelect* > IfcWorkControl::FinishTime() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcWorkControl::FinishTime(boost::optional< IfcDateTimeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > IfcWorkControl::WorkControlType() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return IfcWorkControlTypeEnum::FromString(*arg); } } +void IfcWorkControl::WorkControlType(boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v,IfcWorkControlTypeEnum::ToString(*v));; } else { w->setArgument(13); } } +boost::optional< std::string > IfcWorkControl::UserDefinedControlType() const { return *entity->getArgument(14); } +void IfcWorkControl::UserDefinedControlType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } bool IfcWorkControl::is(Type::Enum v) const { return v == Type::IfcWorkControl || IfcControl::is(v); } Type::Enum IfcWorkControl::type() const { return Type::IfcWorkControl; } Type::Enum IfcWorkControl::Class() { return Type::IfcWorkControl; } IfcWorkControl::IfcWorkControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); e->setArgument(12,(v13_FinishTime)); if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, boost::optional< IfcDateTimeSelect* > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkPlan bool IfcWorkPlan::is(Type::Enum v) const { return v == Type::IfcWorkPlan || IfcWorkControl::is(v); } Type::Enum IfcWorkPlan::type() const { return Type::IfcWorkPlan; } Type::Enum IfcWorkPlan::Class() { return Type::IfcWorkPlan; } IfcWorkPlan::IfcWorkPlan(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); e->setArgument(12,(v13_FinishTime)); if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, boost::optional< IfcDateTimeSelect* > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkSchedule bool IfcWorkSchedule::is(Type::Enum v) const { return v == Type::IfcWorkSchedule || IfcWorkControl::is(v); } Type::Enum IfcWorkSchedule::type() const { return Type::IfcWorkSchedule; } Type::Enum IfcWorkSchedule::Class() { return Type::IfcWorkSchedule; } IfcWorkSchedule::IfcWorkSchedule(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); e->setArgument(12,(v13_FinishTime)); if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, boost::optional< IfcDateTimeSelect* > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZShapeProfileDef double IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcZShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcZShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcZShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcZShapeProfileDef::FlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcZShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcZShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcZShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcZShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcZShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcZShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcZShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcZShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcZShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcZShapeProfileDef::EdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcZShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcZShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcZShapeProfileDef::type() const { return Type::IfcZShapeProfileDef; } Type::Enum IfcZShapeProfileDef::Class() { return Type::IfcZShapeProfileDef; } diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 1f309c68f4..57954269bb 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -6595,20 +6595,16 @@ public: /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. IfcRoleEnum::IfcRoleEnum Role() const; - void setRole(IfcRoleEnum::IfcRoleEnum v); - /// Whether the optional attribute UserDefinedRole is defined for this IfcActorRole - bool hasUserDefinedRole() const; + void Role(IfcRoleEnum::IfcRoleEnum v); /// Allows for specification of user defined roles beyond the /// enumeration values provided by Role attribute of type IfcRoleEnum. /// When a value is provided for attribute UserDefinedRole in parallel /// the attribute Role shall have enumeration value USERDEFINED. - std::string UserDefinedRole() const; - void setUserDefinedRole(std::string v); - /// Whether the optional attribute Description is defined for this IfcActorRole - bool hasDescription() const; + boost::optional< std::string > UserDefinedRole() const; + void UserDefinedRole(boost::optional< std::string > v); /// A textual description relating the nature of the role played by an actor. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRoleEnum; case 1: return Type::IfcLabel; case 2: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -6628,24 +6624,18 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IfcAddress : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Purpose is defined for this IfcAddress - bool hasPurpose() const; /// Identifies the logical location of the address. - IfcAddressTypeEnum::IfcAddressTypeEnum Purpose() const; - void setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v); - /// Whether the optional attribute Description is defined for this IfcAddress - bool hasDescription() const; + boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > Purpose() const; + void Purpose(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v); /// Text that relates the nature of the address. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress - bool hasUserDefinedPurpose() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - std::string UserDefinedPurpose() const; - void setUserDefinedPurpose(std::string v); + boost::optional< std::string > UserDefinedPurpose() const; + void UserDefinedPurpose(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAddressTypeEnum; case 1: return Type::IfcText; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -6667,16 +6657,16 @@ class IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. IfcOrganization* ApplicationDeveloper() const; - void setApplicationDeveloper(IfcOrganization* v); + void ApplicationDeveloper(IfcOrganization* v); /// The version number of this software as specified by the developer of the application. std::string Version() const; - void setVersion(std::string v); + void Version(std::string v); /// The full name of the application as specified by the application developer. std::string ApplicationFullName() const; - void setApplicationFullName(std::string v); + void ApplicationFullName(std::string v); /// Short identifying name for the application. std::string ApplicationIdentifier() const; - void setApplicationIdentifier(std::string v); + void ApplicationIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOrganization; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcException("argument out of range"); } @@ -6705,44 +6695,32 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IfcAppliedValue : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcAppliedValue - bool hasName() const; /// A name or additional clarification given to a cost value. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcAppliedValue - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The description that may apply additional information about a cost value. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue - bool hasAppliedValue() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The extent or quantity or amount of an applied value. - IfcAppliedValueSelect* AppliedValue() const; - void setAppliedValue(IfcAppliedValueSelect* v); - /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue - bool hasUnitBasis() const; + boost::optional< IfcAppliedValueSelect* > AppliedValue() const; + void AppliedValue(boost::optional< IfcAppliedValueSelect* > v); /// The number and unit of measure on which the unit cost is based. /// /// Note: As well as the normally expected units of measure such as length, area, volume etc., costs may be based on units of measure which need to be defined e.g. sack, drum, pallet, item etc. Unit costs may be based on quantities greater (or lesser) than a unitary value of the basis measure. For instance, timber may have a unit cost rate per X meters where X > 1; similarly for cable, piping and many other items. The basis number may be either an integer or a real value. /// /// Note: This attribute should be asserted for all circumstances where the cost to be applied is per unit quantity. It may be asserted even for circumstances where an item price is used, in which case the unit cost basis should be by item (or equivalent definition). - IfcMeasureWithUnit* UnitBasis() const; - void setUnitBasis(IfcMeasureWithUnit* v); - /// Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue - bool hasApplicableDate() const; + boost::optional< IfcMeasureWithUnit* > UnitBasis() const; + void UnitBasis(boost::optional< IfcMeasureWithUnit* > v); /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect* ApplicableDate() const; - void setApplicableDate(IfcDateTimeSelect* v); - /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue - bool hasFixedUntilDate() const; + boost::optional< IfcDateTimeSelect* > ApplicableDate() const; + void ApplicableDate(boost::optional< IfcDateTimeSelect* > v); /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect* FixedUntilDate() const; - void setFixedUntilDate(IfcDateTimeSelect* v); + boost::optional< IfcDateTimeSelect* > FixedUntilDate() const; + void FixedUntilDate(boost::optional< IfcDateTimeSelect* > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcAppliedValueSelect; case 3: return Type::IfcMeasureWithUnit; case 4: return Type::IfcDateTimeSelect; case 5: return Type::IfcDateTimeSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -6755,7 +6733,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAppliedValue (IfcAbstractEntity* e); - IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate); + IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< IfcDateTimeSelect* > v5_ApplicableDate, boost::optional< IfcDateTimeSelect* > v6_FixedUntilDate); typedef IfcTemplatedEntityList< IfcAppliedValue > list; }; /// An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value. @@ -6786,21 +6764,17 @@ class IfcAppliedValueRelationship : public IfcUtil::IfcBaseEntity { public: /// The applied value (total or subtotal) of which the value being considered is a component. IfcAppliedValue* ComponentOfTotal() const; - void setComponentOfTotal(IfcAppliedValue* v); + void ComponentOfTotal(IfcAppliedValue* v); /// Applied values that are components of another applied value and from which that applied value may be deduced. IfcTemplatedEntityList< IfcAppliedValue >::ptr Components() const; - void setComponents(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); + void Components(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); /// The arithmetic operator applied in an applied value relationship. IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator() const; - void setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v); - /// Whether the optional attribute Name is defined for this IfcAppliedValueRelationship - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcAppliedValueRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + void ArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAppliedValue; case 1: return Type::IfcAppliedValue; case 2: return Type::IfcArithmeticOperatorEnum; case 3: return Type::IfcLabel; case 4: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -6820,31 +6794,23 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IfcApproval : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Description is defined for this IfcApproval - bool hasDescription() const; /// A general textual description of a design, work task, plan, etc. that is being approved for. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); IfcDateTimeSelect* ApprovalDateTime() const; - void setApprovalDateTime(IfcDateTimeSelect* v); - /// Whether the optional attribute ApprovalStatus is defined for this IfcApproval - bool hasApprovalStatus() const; - std::string ApprovalStatus() const; - void setApprovalStatus(std::string v); - /// Whether the optional attribute ApprovalLevel is defined for this IfcApproval - bool hasApprovalLevel() const; - std::string ApprovalLevel() const; - void setApprovalLevel(std::string v); - /// Whether the optional attribute ApprovalQualifier is defined for this IfcApproval - bool hasApprovalQualifier() const; - std::string ApprovalQualifier() const; - void setApprovalQualifier(std::string v); + void ApprovalDateTime(IfcDateTimeSelect* v); + boost::optional< std::string > ApprovalStatus() const; + void ApprovalStatus(boost::optional< std::string > v); + boost::optional< std::string > ApprovalLevel() const; + void ApprovalLevel(boost::optional< std::string > v); + boost::optional< std::string > ApprovalQualifier() const; + void ApprovalQualifier(boost::optional< std::string > v); /// A human readable name given to an approval. std::string Name() const; - void setName(std::string v); + void Name(std::string v); /// A computer interpretable identifier by which the approval is known. std::string Identifier() const; - void setIdentifier(std::string v); + void Identifier(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcText; case 1: return Type::IfcDateTimeSelect; case 2: return Type::IfcLabel; case 3: return Type::IfcLabel; case 4: return Type::IfcText; case 5: return Type::IfcLabel; case 6: return Type::IfcIdentifier; } throw IfcParse::IfcException("argument out of range"); } @@ -6864,11 +6830,11 @@ public: class IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { public: IfcActorSelect* Actor() const; - void setActor(IfcActorSelect* v); + void Actor(IfcActorSelect* v); IfcApproval* Approval() const; - void setApproval(IfcApproval* v); + void Approval(IfcApproval* v); IfcActorRole* Role() const; - void setRole(IfcActorRole* v); + void Role(IfcActorRole* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcActorSelect; case 1: return Type::IfcApproval; case 2: return Type::IfcActorRole; } throw IfcParse::IfcException("argument out of range"); } @@ -6885,9 +6851,9 @@ public: class IfcApprovalPropertyRelationship : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcProperty >::ptr ApprovedProperties() const; - void setApprovedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void ApprovedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); IfcApproval* Approval() const; - void setApproval(IfcApproval* v); + void Approval(IfcApproval* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProperty; case 1: return Type::IfcApproval; } throw IfcParse::IfcException("argument out of range"); } @@ -6910,16 +6876,14 @@ public: class IfcApprovalRelationship : public IfcUtil::IfcBaseEntity { public: IfcApproval* RelatedApproval() const; - void setRelatedApproval(IfcApproval* v); + void RelatedApproval(IfcApproval* v); /// The approval that other approval is related to. IfcApproval* RelatingApproval() const; - void setRelatingApproval(IfcApproval* v); - /// Whether the optional attribute Description is defined for this IfcApprovalRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + void RelatingApproval(IfcApproval* v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcApproval; case 1: return Type::IfcApproval; case 2: return Type::IfcText; case 3: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -6949,11 +6913,9 @@ public: /// 2. class IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcBoundaryCondition - bool hasName() const; /// Optionally defines a name for this boundary condition. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -6978,33 +6940,21 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute LinearStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasLinearStiffnessByLengthX() const; - double LinearStiffnessByLengthX() const; - void setLinearStiffnessByLengthX(double v); - /// Whether the optional attribute LinearStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasLinearStiffnessByLengthY() const; - double LinearStiffnessByLengthY() const; - void setLinearStiffnessByLengthY(double v); - /// Whether the optional attribute LinearStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasLinearStiffnessByLengthZ() const; - double LinearStiffnessByLengthZ() const; - void setLinearStiffnessByLengthZ(double v); - /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthX() const; + boost::optional< double > LinearStiffnessByLengthX() const; + void LinearStiffnessByLengthX(boost::optional< double > v); + boost::optional< double > LinearStiffnessByLengthY() const; + void LinearStiffnessByLengthY(boost::optional< double > v); + boost::optional< double > LinearStiffnessByLengthZ() const; + void LinearStiffnessByLengthZ(boost::optional< double > v); /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - double RotationalStiffnessByLengthX() const; - void setRotationalStiffnessByLengthX(double v); - /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthY() const; + boost::optional< double > RotationalStiffnessByLengthX() const; + void RotationalStiffnessByLengthX(boost::optional< double > v); /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - double RotationalStiffnessByLengthY() const; - void setRotationalStiffnessByLengthY(double v); - /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthZ() const; + boost::optional< double > RotationalStiffnessByLengthY() const; + void RotationalStiffnessByLengthY(boost::optional< double > v); /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - double RotationalStiffnessByLengthZ() const; - void setRotationalStiffnessByLengthZ(double v); + boost::optional< double > RotationalStiffnessByLengthZ() const; + void RotationalStiffnessByLengthZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcModulusOfLinearSubgradeReactionMeasure; case 2: return Type::IfcModulusOfLinearSubgradeReactionMeasure; case 3: return Type::IfcModulusOfLinearSubgradeReactionMeasure; case 4: return Type::IfcModulusOfRotationalSubgradeReactionMeasure; case 5: return Type::IfcModulusOfRotationalSubgradeReactionMeasure; case 6: return Type::IfcModulusOfRotationalSubgradeReactionMeasure; } return IfcBoundaryCondition::getArgumentEntity(i); } @@ -7029,18 +6979,12 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute LinearStiffnessByAreaX is defined for this IfcBoundaryFaceCondition - bool hasLinearStiffnessByAreaX() const; - double LinearStiffnessByAreaX() const; - void setLinearStiffnessByAreaX(double v); - /// Whether the optional attribute LinearStiffnessByAreaY is defined for this IfcBoundaryFaceCondition - bool hasLinearStiffnessByAreaY() const; - double LinearStiffnessByAreaY() const; - void setLinearStiffnessByAreaY(double v); - /// Whether the optional attribute LinearStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition - bool hasLinearStiffnessByAreaZ() const; - double LinearStiffnessByAreaZ() const; - void setLinearStiffnessByAreaZ(double v); + boost::optional< double > LinearStiffnessByAreaX() const; + void LinearStiffnessByAreaX(boost::optional< double > v); + boost::optional< double > LinearStiffnessByAreaY() const; + void LinearStiffnessByAreaY(boost::optional< double > v); + boost::optional< double > LinearStiffnessByAreaZ() const; + void LinearStiffnessByAreaZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcModulusOfSubgradeReactionMeasure; case 2: return Type::IfcModulusOfSubgradeReactionMeasure; case 3: return Type::IfcModulusOfSubgradeReactionMeasure; } return IfcBoundaryCondition::getArgumentEntity(i); } @@ -7065,33 +7009,21 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute LinearStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasLinearStiffnessX() const; - double LinearStiffnessX() const; - void setLinearStiffnessX(double v); - /// Whether the optional attribute LinearStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasLinearStiffnessY() const; - double LinearStiffnessY() const; - void setLinearStiffnessY(double v); - /// Whether the optional attribute LinearStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasLinearStiffnessZ() const; - double LinearStiffnessZ() const; - void setLinearStiffnessZ(double v); - /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessX() const; + boost::optional< double > LinearStiffnessX() const; + void LinearStiffnessX(boost::optional< double > v); + boost::optional< double > LinearStiffnessY() const; + void LinearStiffnessY(boost::optional< double > v); + boost::optional< double > LinearStiffnessZ() const; + void LinearStiffnessZ(boost::optional< double > v); /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - double RotationalStiffnessX() const; - void setRotationalStiffnessX(double v); - /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessY() const; + boost::optional< double > RotationalStiffnessX() const; + void RotationalStiffnessX(boost::optional< double > v); /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - double RotationalStiffnessY() const; - void setRotationalStiffnessY(double v); - /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessZ() const; + boost::optional< double > RotationalStiffnessY() const; + void RotationalStiffnessY(boost::optional< double > v); /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - double RotationalStiffnessZ() const; - void setRotationalStiffnessZ(double v); + boost::optional< double > RotationalStiffnessZ() const; + void RotationalStiffnessZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLinearStiffnessMeasure; case 2: return Type::IfcLinearStiffnessMeasure; case 3: return Type::IfcLinearStiffnessMeasure; case 4: return Type::IfcRotationalStiffnessMeasure; case 5: return Type::IfcRotationalStiffnessMeasure; case 6: return Type::IfcRotationalStiffnessMeasure; } return IfcBoundaryCondition::getArgumentEntity(i); } @@ -7115,11 +7047,9 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping - bool hasWarpingStiffness() const; /// Defines the warping stiffness value. - double WarpingStiffness() const; - void setWarpingStiffness(double v); + boost::optional< double > WarpingStiffness() const; + void WarpingStiffness(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryNodeCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcWarpingMomentMeasure; } return IfcBoundaryNodeCondition::getArgumentEntity(i); } @@ -7136,11 +7066,11 @@ public: class IfcCalendarDate : public IfcUtil::IfcBaseEntity { public: int DayComponent() const; - void setDayComponent(int v); + void DayComponent(int v); int MonthComponent() const; - void setMonthComponent(int v); + void MonthComponent(int v); int YearComponent() const; - void setYearComponent(int v); + void YearComponent(int v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDayInMonthNumber; case 1: return Type::IfcMonthInYearNumber; case 2: return Type::IfcYearNumber; } throw IfcParse::IfcException("argument out of range"); } @@ -7174,28 +7104,26 @@ public: /// /// NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher. std::string Source() const; - void setSource(std::string v); + void Source(std::string v); /// The edition or version of the classification system from which the classification notation is derived. /// /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. std::string Edition() const; - void setEdition(std::string v); - /// Whether the optional attribute EditionDate is defined for this IfcClassification - bool hasEditionDate() const; + void Edition(std::string v); /// The date on which the edition of the classification used became valid. /// /// NOTE The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* EditionDate() const; - void setEditionDate(IfcCalendarDate* v); + boost::optional< IfcCalendarDate* > EditionDate() const; + void EditionDate(boost::optional< IfcCalendarDate* > v); /// The name or label by which the classification used is normally known. /// /// NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc. std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; case 2: return Type::IfcCalendarDate; case 3: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7206,20 +7134,18 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassification (IfcAbstractEntity* e); - IfcClassification (std::string v1_Source, std::string v2_Edition, IfcCalendarDate* v3_EditionDate, std::string v4_Name); + IfcClassification (std::string v1_Source, std::string v2_Edition, boost::optional< IfcCalendarDate* > v3_EditionDate, std::string v4_Name); typedef IfcTemplatedEntityList< IfcClassification > list; }; class IfcClassificationItem : public IfcUtil::IfcBaseEntity { public: IfcClassificationNotationFacet* Notation() const; - void setNotation(IfcClassificationNotationFacet* v); - /// Whether the optional attribute ItemOf is defined for this IfcClassificationItem - bool hasItemOf() const; - IfcClassification* ItemOf() const; - void setItemOf(IfcClassification* v); + void Notation(IfcClassificationNotationFacet* v); + boost::optional< IfcClassification* > ItemOf() const; + void ItemOf(boost::optional< IfcClassification* > v); std::string Title() const; - void setTitle(std::string v); + void Title(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClassificationNotationFacet; case 1: return Type::IfcClassification; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7231,16 +7157,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationItem (IfcAbstractEntity* e); - IfcClassificationItem (IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, std::string v3_Title); + IfcClassificationItem (IfcClassificationNotationFacet* v1_Notation, boost::optional< IfcClassification* > v2_ItemOf, std::string v3_Title); typedef IfcTemplatedEntityList< IfcClassificationItem > list; }; class IfcClassificationItemRelationship : public IfcUtil::IfcBaseEntity { public: IfcClassificationItem* RelatingItem() const; - void setRelatingItem(IfcClassificationItem* v); + void RelatingItem(IfcClassificationItem* v); IfcTemplatedEntityList< IfcClassificationItem >::ptr RelatedItems() const; - void setRelatedItems(IfcTemplatedEntityList< IfcClassificationItem >::ptr v); + void RelatedItems(IfcTemplatedEntityList< IfcClassificationItem >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClassificationItem; case 1: return Type::IfcClassificationItem; } throw IfcParse::IfcException("argument out of range"); } @@ -7257,7 +7183,7 @@ public: class IfcClassificationNotation : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr NotationFacets() const; - void setNotationFacets(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v); + void NotationFacets(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClassificationNotationFacet; } throw IfcParse::IfcException("argument out of range"); } @@ -7274,7 +7200,7 @@ public: class IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { public: std::string NotationValue() const; - void setNotationValue(std::string v); + void NotationValue(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7294,14 +7220,12 @@ public: /// HISTORY  New entity in IFC2x2. class IfcColourSpecification : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcColourSpecification - bool hasName() const; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// /// NOTE  Examples are the names of a industry colour classification, such as RAL. /// IFC2x Edition 3 CHANGE  Attribute added. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7362,12 +7286,10 @@ class IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. IfcPointOrVertexPoint* PointOnRelatingElement() const; - void setPointOnRelatingElement(IfcPointOrVertexPoint* v); - /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry - bool hasPointOnRelatedElement() const; + void PointOnRelatingElement(IfcPointOrVertexPoint* v); /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcPointOrVertexPoint* PointOnRelatedElement() const; - void setPointOnRelatedElement(IfcPointOrVertexPoint* v); + boost::optional< IfcPointOrVertexPoint* > PointOnRelatedElement() const; + void PointOnRelatedElement(boost::optional< IfcPointOrVertexPoint* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPointOrVertexPoint; case 1: return Type::IfcPointOrVertexPoint; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -7377,20 +7299,18 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointGeometry (IfcAbstractEntity* e); - IfcConnectionPointGeometry (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement); + IfcConnectionPointGeometry (IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; }; class IfcConnectionPortGeometry : public IfcConnectionGeometry { public: IfcAxis2Placement* LocationAtRelatingElement() const; - void setLocationAtRelatingElement(IfcAxis2Placement* v); - /// Whether the optional attribute LocationAtRelatedElement is defined for this IfcConnectionPortGeometry - bool hasLocationAtRelatedElement() const; - IfcAxis2Placement* LocationAtRelatedElement() const; - void setLocationAtRelatedElement(IfcAxis2Placement* v); + void LocationAtRelatingElement(IfcAxis2Placement* v); + boost::optional< IfcAxis2Placement* > LocationAtRelatedElement() const; + void LocationAtRelatedElement(boost::optional< IfcAxis2Placement* > v); IfcProfileDef* ProfileOfPort() const; - void setProfileOfPort(IfcProfileDef* v); + void ProfileOfPort(IfcProfileDef* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement; case 1: return Type::IfcAxis2Placement; case 2: return Type::IfcProfileDef; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -7400,7 +7320,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPortGeometry (IfcAbstractEntity* e); - IfcConnectionPortGeometry (IfcAxis2Placement* v1_LocationAtRelatingElement, IfcAxis2Placement* v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort); + IfcConnectionPortGeometry (IfcAxis2Placement* v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement* > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort); typedef IfcTemplatedEntityList< IfcConnectionPortGeometry > list; }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. @@ -7415,12 +7335,10 @@ class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; - void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v); - /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry - bool hasSurfaceOnRelatedElement() const; + void SurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v); /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcSurfaceOrFaceSurface* SurfaceOnRelatedElement() const; - void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v); + boost::optional< IfcSurfaceOrFaceSurface* > SurfaceOnRelatedElement() const; + void SurfaceOnRelatedElement(boost::optional< IfcSurfaceOrFaceSurface* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurfaceOrFaceSurface; case 1: return Type::IfcSurfaceOrFaceSurface; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -7430,7 +7348,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionSurfaceGeometry (IfcAbstractEntity* e); - IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface* > v2_SurfaceOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > list; }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. @@ -7449,38 +7367,28 @@ class IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcConstraint - bool hasDescription() const; + void Name(std::string v); /// A description that may apply additional information about a constraint. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Enumeration that qualifies the type of constraint. IfcConstraintEnum::IfcConstraintEnum ConstraintGrade() const; - void setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); - /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint - bool hasConstraintSource() const; + void ConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); /// Any source material, such as a code or standard, from which the constraint originated. - std::string ConstraintSource() const; - void setConstraintSource(std::string v); - /// Whether the optional attribute CreatingActor is defined for this IfcConstraint - bool hasCreatingActor() const; + boost::optional< std::string > ConstraintSource() const; + void ConstraintSource(boost::optional< std::string > v); /// Person and/or organization that has created the constraint. - IfcActorSelect* CreatingActor() const; - void setCreatingActor(IfcActorSelect* v); - /// Whether the optional attribute CreationTime is defined for this IfcConstraint - bool hasCreationTime() const; + boost::optional< IfcActorSelect* > CreatingActor() const; + void CreatingActor(boost::optional< IfcActorSelect* > v); /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - IfcDateTimeSelect* CreationTime() const; - void setCreationTime(IfcDateTimeSelect* v); - /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint - bool hasUserDefinedGrade() const; + boost::optional< IfcDateTimeSelect* > CreationTime() const; + void CreationTime(boost::optional< IfcDateTimeSelect* > v); /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - std::string UserDefinedGrade() const; - void setUserDefinedGrade(std::string v); + boost::optional< std::string > UserDefinedGrade() const; + void UserDefinedGrade(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcConstraintEnum; case 3: return Type::IfcLabel; case 4: return Type::IfcActorSelect; case 5: return Type::IfcDateTimeSelect; case 6: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7496,7 +7404,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstraint (IfcAbstractEntity* e); - IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); + IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< IfcDateTimeSelect* > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); typedef IfcTemplatedEntityList< IfcConstraint > list; }; /// An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically. @@ -7512,21 +7420,17 @@ public: /// Figure 237 — Constraint aggregation class IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcConstraintAggregationRelationship - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcConstraintAggregationRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); IfcConstraint* RelatingConstraint() const; - void setRelatingConstraint(IfcConstraint* v); + void RelatingConstraint(IfcConstraint* v); IfcTemplatedEntityList< IfcConstraint >::ptr RelatedConstraints() const; - void setRelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v); + void RelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v); /// Enumeration that identifies the logical type of aggregation. IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator() const; - void setLogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v); + void LogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_ENUMERATION; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcConstraint; case 3: return Type::IfcConstraint; case 4: return Type::IfcLogicalOperatorEnum; } throw IfcParse::IfcException("argument out of range"); } @@ -7543,9 +7447,9 @@ public: class IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { public: IfcConstraint* ClassifiedConstraint() const; - void setClassifiedConstraint(IfcConstraint* v); + void ClassifiedConstraint(IfcConstraint* v); IfcEntityList::ptr RelatedClassifications() const; - void setRelatedClassifications(IfcEntityList::ptr v); + void RelatedClassifications(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcConstraint; case 1: return Type::IfcClassificationNotationSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -7569,20 +7473,16 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship. class IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcConstraintRelationship - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcConstraintRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Constraint with which the other Constraints referenced by attribute RelatedConstraints are related. IfcConstraint* RelatingConstraint() const; - void setRelatingConstraint(IfcConstraint* v); + void RelatingConstraint(IfcConstraint* v); /// Constraints that are related with the one referenced as RelatingConstraint. IfcTemplatedEntityList< IfcConstraint >::ptr RelatedConstraints() const; - void setRelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v); + void RelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcConstraint; case 3: return Type::IfcConstraint; } throw IfcParse::IfcException("argument out of range"); } @@ -7599,13 +7499,11 @@ public: class IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { public: int HourOffset() const; - void setHourOffset(int v); - /// Whether the optional attribute MinuteOffset is defined for this IfcCoordinatedUniversalTimeOffset - bool hasMinuteOffset() const; - int MinuteOffset() const; - void setMinuteOffset(int v); + void HourOffset(int v); + boost::optional< int > MinuteOffset() const; + void MinuteOffset(boost::optional< int > v); IfcAheadOrBehind::IfcAheadOrBehind Sense() const; - void setSense(IfcAheadOrBehind::IfcAheadOrBehind v); + void Sense(IfcAheadOrBehind::IfcAheadOrBehind v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_ENUMERATION; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcHourInDay; case 1: return Type::IfcMinuteInHour; case 2: return Type::IfcAheadOrBehind; } throw IfcParse::IfcException("argument out of range"); } @@ -7668,12 +7566,10 @@ public: /// /// In the absence of any well defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. std::string CostType() const; - void setCostType(std::string v); - /// Whether the optional attribute Condition is defined for this IfcCostValue - bool hasCondition() const; + void CostType(std::string v); /// The condition under which a cost value applies. - std::string Condition() const; - void setCondition(std::string v); + boost::optional< std::string > Condition() const; + void Condition(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; } return IfcAppliedValue::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcLabel; case 7: return Type::IfcText; } return IfcAppliedValue::getArgumentEntity(i); } @@ -7683,7 +7579,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostValue (IfcAbstractEntity* e); - IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition); + IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< IfcDateTimeSelect* > v5_ApplicableDate, boost::optional< IfcDateTimeSelect* > v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition); typedef IfcTemplatedEntityList< IfcCostValue > list; }; /// IfcCurrencyRelationship defines the rate of exchange @@ -7701,23 +7597,21 @@ class IfcCurrencyRelationship : public IfcUtil::IfcBaseEntity { public: /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. IfcMonetaryUnit* RelatingMonetaryUnit() const; - void setRelatingMonetaryUnit(IfcMonetaryUnit* v); + void RelatingMonetaryUnit(IfcMonetaryUnit* v); /// The monetary unit to which an exchange results. For instance, in the case of a conversion from GBP to USD, the related monetary unit is USD. IfcMonetaryUnit* RelatedMonetaryUnit() const; - void setRelatedMonetaryUnit(IfcMonetaryUnit* v); + void RelatedMonetaryUnit(IfcMonetaryUnit* v); /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). double ExchangeRate() const; - void setExchangeRate(double v); + void ExchangeRate(double v); /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. IfcDateAndTime* RateDateTime() const; - void setRateDateTime(IfcDateAndTime* v); - /// Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship - bool hasRateSource() const; + void RateDateTime(IfcDateAndTime* v); /// The source from which an exchange rate is obtained. - IfcLibraryInformation* RateSource() const; - void setRateSource(IfcLibraryInformation* v); + boost::optional< IfcLibraryInformation* > RateSource() const; + void RateSource(boost::optional< IfcLibraryInformation* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMonetaryUnit; case 1: return Type::IfcMonetaryUnit; case 2: return Type::IfcPositiveRatioMeasure; case 3: return Type::IfcDateAndTime; case 4: return Type::IfcLibraryInformation; } throw IfcParse::IfcException("argument out of range"); } @@ -7727,7 +7621,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurrencyRelationship (IfcAbstractEntity* e); - IfcCurrencyRelationship (IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource); + IfcCurrencyRelationship (IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, boost::optional< IfcLibraryInformation* > v5_RateSource); typedef IfcTemplatedEntityList< IfcCurrencyRelationship > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. @@ -7737,14 +7631,12 @@ public: /// HISTORY: New entity in IFC2x2. class IfcCurveStyleFont : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcCurveStyleFont - bool hasName() const; /// Name that may be assigned with the curve font. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// A list of curve font pattern entities, that contains the simple patterns used for drawing curves. The patterns are applied in the order they occur in the list. IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr PatternList() const; - void setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v); + void PatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcCurveStyleFontPattern; } throw IfcParse::IfcException("argument out of range"); } @@ -7770,17 +7662,15 @@ public: /// HISTORY  New entity in IFC2x2. class IfcCurveStyleFontAndScaling : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling - bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The curve font to be scaled. IfcCurveStyleFontSelect* CurveFont() const; - void setCurveFont(IfcCurveStyleFontSelect* v); + void CurveFont(IfcCurveStyleFontSelect* v); /// The scale factor. double CurveFontScaling() const; - void setCurveFontScaling(double v); + void CurveFontScaling(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcCurveStyleFontSelect; case 2: return Type::IfcPositiveRatioMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -7806,10 +7696,10 @@ public: /// /// IFC2x Edition 3 CHANGE  The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. double VisibleSegmentLength() const; - void setVisibleSegmentLength(double v); + void VisibleSegmentLength(double v); /// The length of the invisible segment in the pattern definition. double InvisibleSegmentLength() const; - void setInvisibleSegmentLength(double v); + void InvisibleSegmentLength(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; case 1: return Type::IfcPositiveLengthMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -7826,9 +7716,9 @@ public: class IfcDateAndTime : public IfcUtil::IfcBaseEntity { public: IfcCalendarDate* DateComponent() const; - void setDateComponent(IfcCalendarDate* v); + void DateComponent(IfcCalendarDate* v); IfcLocalTime* TimeComponent() const; - void setTimeComponent(IfcLocalTime* v); + void TimeComponent(IfcLocalTime* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCalendarDate; case 1: return Type::IfcLocalTime; } throw IfcParse::IfcException("argument out of range"); } @@ -7852,14 +7742,12 @@ class IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr Elements() const; - void setElements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v); + void Elements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v); /// Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. IfcDerivedUnitEnum::IfcDerivedUnitEnum UnitType() const; - void setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); - /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit - bool hasUserDefinedType() const; - std::string UserDefinedType() const; - void setUserDefinedType(std::string v); + void UnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); + boost::optional< std::string > UserDefinedType() const; + void UserDefinedType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDerivedUnitElement; case 1: return Type::IfcDerivedUnitEnum; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7885,10 +7773,10 @@ class IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. IfcNamedUnit* Unit() const; - void setUnit(IfcNamedUnit* v); + void Unit(IfcNamedUnit* v); /// The power that is applied to the unit attribute. int Exponent() const; - void setExponent(int v); + void Exponent(int v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcNamedUnit; case 1: return Type::UNDEFINED; } throw IfcParse::IfcException("argument out of range"); } @@ -7922,25 +7810,25 @@ class IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; - void setLengthExponent(int v); + void LengthExponent(int v); /// The power of the mass base quantity. int MassExponent() const; - void setMassExponent(int v); + void MassExponent(int v); /// The power of the time base quantity. int TimeExponent() const; - void setTimeExponent(int v); + void TimeExponent(int v); /// The power of the electric current base quantity. int ElectricCurrentExponent() const; - void setElectricCurrentExponent(int v); + void ElectricCurrentExponent(int v); /// The power of the thermodynamic temperature base quantity. int ThermodynamicTemperatureExponent() const; - void setThermodynamicTemperatureExponent(int v); + void ThermodynamicTemperatureExponent(int v); /// The power of the amount of substance base quantity. int AmountOfSubstanceExponent() const; - void setAmountOfSubstanceExponent(int v); + void AmountOfSubstanceExponent(int v); /// The power of the luminous intensity base quantity. int LuminousIntensityExponent() const; - void setLuminousIntensityExponent(int v); + void LuminousIntensityExponent(int v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_INT; case 3: return IfcUtil::Argument_INT; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::UNDEFINED; case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } throw IfcParse::IfcException("argument out of range"); } @@ -7958,21 +7846,15 @@ public: /// HISTORY: New entity in IFC 2x class IfcDocumentElectronicFormat : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute FileExtension is defined for this IfcDocumentElectronicFormat - bool hasFileExtension() const; /// File extension of electronic document used by computer operating system. - std::string FileExtension() const; - void setFileExtension(std::string v); - /// Whether the optional attribute MimeContentType is defined for this IfcDocumentElectronicFormat - bool hasMimeContentType() const; + boost::optional< std::string > FileExtension() const; + void FileExtension(boost::optional< std::string > v); /// Main Mime type (as published by W3C or as user defined application type). - std::string MimeContentType() const; - void setMimeContentType(std::string v); - /// Whether the optional attribute MimeSubtype is defined for this IfcDocumentElectronicFormat - bool hasMimeSubtype() const; + boost::optional< std::string > MimeContentType() const; + void MimeContentType(boost::optional< std::string > v); /// Mime subtype information. - std::string MimeSubtype() const; - void setMimeSubtype(std::string v); + boost::optional< std::string > MimeSubtype() const; + void MimeSubtype(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -7992,96 +7874,66 @@ class IfcDocumentInformation : public IfcUtil::IfcBaseEntity { public: /// Identifier that uniquely identifies a document. std::string DocumentId() const; - void setDocumentId(std::string v); + void DocumentId(std::string v); /// File name or document name assigned by owner. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcDocumentInformation - bool hasDescription() const; + void Name(std::string v); /// Description of document and its content. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute DocumentReferences is defined for this IfcDocumentInformation - bool hasDocumentReferences() const; - IfcTemplatedEntityList< IfcDocumentReference >::ptr DocumentReferences() const; - void setDocumentReferences(IfcTemplatedEntityList< IfcDocumentReference >::ptr v); - /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation - bool hasPurpose() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); + boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > DocumentReferences() const; + void DocumentReferences(boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v); /// Purpose for this document. - std::string Purpose() const; - void setPurpose(std::string v); - /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation - bool hasIntendedUse() const; + boost::optional< std::string > Purpose() const; + void Purpose(boost::optional< std::string > v); /// Intended use for this document. - std::string IntendedUse() const; - void setIntendedUse(std::string v); - /// Whether the optional attribute Scope is defined for this IfcDocumentInformation - bool hasScope() const; + boost::optional< std::string > IntendedUse() const; + void IntendedUse(boost::optional< std::string > v); /// Scope for this document. - std::string Scope() const; - void setScope(std::string v); - /// Whether the optional attribute Revision is defined for this IfcDocumentInformation - bool hasRevision() const; + boost::optional< std::string > Scope() const; + void Scope(boost::optional< std::string > v); /// Document revision designation. - std::string Revision() const; - void setRevision(std::string v); - /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation - bool hasDocumentOwner() const; + boost::optional< std::string > Revision() const; + void Revision(boost::optional< std::string > v); /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. - IfcActorSelect* DocumentOwner() const; - void setDocumentOwner(IfcActorSelect* v); - /// Whether the optional attribute Editors is defined for this IfcDocumentInformation - bool hasEditors() const; + boost::optional< IfcActorSelect* > DocumentOwner() const; + void DocumentOwner(boost::optional< IfcActorSelect* > v); /// The persons and/or organizations who have created this document or contributed to it. - IfcEntityList::ptr Editors() const; - void setEditors(IfcEntityList::ptr v); - /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation - bool hasCreationTime() const; + boost::optional< IfcEntityList::ptr > Editors() const; + void Editors(boost::optional< IfcEntityList::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. - IfcDateAndTime* CreationTime() const; - void setCreationTime(IfcDateAndTime* v); - /// Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation - bool hasLastRevisionTime() const; + boost::optional< IfcDateAndTime* > CreationTime() const; + void CreationTime(boost::optional< IfcDateAndTime* > v); /// Date and time stamp when this document version was created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateAndTime* LastRevisionTime() const; - void setLastRevisionTime(IfcDateAndTime* v); - /// Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation - bool hasElectronicFormat() const; + boost::optional< IfcDateAndTime* > LastRevisionTime() const; + void LastRevisionTime(boost::optional< IfcDateAndTime* > v); /// Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided. - IfcDocumentElectronicFormat* ElectronicFormat() const; - void setElectronicFormat(IfcDocumentElectronicFormat* v); - /// Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation - bool hasValidFrom() const; + boost::optional< IfcDocumentElectronicFormat* > ElectronicFormat() const; + void ElectronicFormat(boost::optional< IfcDocumentElectronicFormat* > v); /// Date when the document becomes valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* ValidFrom() const; - void setValidFrom(IfcCalendarDate* v); - /// Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation - bool hasValidUntil() const; + boost::optional< IfcCalendarDate* > ValidFrom() const; + void ValidFrom(boost::optional< IfcCalendarDate* > v); /// Date until which the document remains valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* ValidUntil() const; - void setValidUntil(IfcCalendarDate* v); - /// Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation - bool hasConfidentiality() const; + boost::optional< IfcCalendarDate* > ValidUntil() const; + void ValidUntil(boost::optional< IfcCalendarDate* > v); /// The level of confidentiality of the document. - IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum Confidentiality() const; - void setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v); - /// Whether the optional attribute Status is defined for this IfcDocumentInformation - bool hasStatus() const; + boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > Confidentiality() const; + void Confidentiality(boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v); /// The current status of the document. Examples of status values that might be used for a document information status include: /// - DRAFT /// - FINAL DRAFT /// - FINAL /// - REVISION - IfcDocumentStatusEnum::IfcDocumentStatusEnum Status() const; - void setStatus(IfcDocumentStatusEnum::IfcDocumentStatusEnum v); + boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > Status() const; + void Status(boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENTITY; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_ENUMERATION; case 16: return IfcUtil::Argument_ENUMERATION; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcDocumentReference; case 4: return Type::IfcText; case 5: return Type::IfcText; case 6: return Type::IfcText; case 7: return Type::IfcLabel; case 8: return Type::IfcActorSelect; case 9: return Type::IfcActorSelect; case 10: return Type::IfcDateAndTime; case 11: return Type::IfcDateAndTime; case 12: return Type::IfcDocumentElectronicFormat; case 13: return Type::IfcCalendarDate; case 14: return Type::IfcCalendarDate; case 15: return Type::IfcDocumentConfidentialityEnum; case 16: return Type::IfcDocumentStatusEnum; } throw IfcParse::IfcException("argument out of range"); } @@ -8093,7 +7945,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformation (IfcAbstractEntity* e); - IfcDocumentInformation (std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); + IfcDocumentInformation (std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, boost::optional< IfcActorSelect* > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< IfcDateAndTime* > v11_CreationTime, boost::optional< IfcDateAndTime* > v12_LastRevisionTime, boost::optional< IfcDocumentElectronicFormat* > v13_ElectronicFormat, boost::optional< IfcCalendarDate* > v14_ValidFrom, boost::optional< IfcCalendarDate* > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); typedef IfcTemplatedEntityList< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -8108,15 +7960,13 @@ class IfcDocumentInformationRelationship : public IfcUtil::IfcBaseEntity { public: /// The document that acts as the parent, referencing or original document in a relationship. IfcDocumentInformation* RelatingDocument() const; - void setRelatingDocument(IfcDocumentInformation* v); + void RelatingDocument(IfcDocumentInformation* v); /// The document that acts as the child, referenced or replacing document in a relationship. IfcTemplatedEntityList< IfcDocumentInformation >::ptr RelatedDocuments() const; - void setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v); - /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship - bool hasRelationshipType() const; + void RelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v); /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - std::string RelationshipType() const; - void setRelationshipType(std::string v); + boost::optional< std::string > RelationshipType() const; + void RelationshipType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDocumentInformation; case 1: return Type::IfcDocumentInformation; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8132,18 +7982,14 @@ public: class IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcDraughtingCalloutRelationship - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcDraughtingCalloutRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); IfcDraughtingCallout* RelatingDraughtingCallout() const; - void setRelatingDraughtingCallout(IfcDraughtingCallout* v); + void RelatingDraughtingCallout(IfcDraughtingCallout* v); IfcDraughtingCallout* RelatedDraughtingCallout() const; - void setRelatedDraughtingCallout(IfcDraughtingCallout* v); + void RelatedDraughtingCallout(IfcDraughtingCallout* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcDraughtingCallout; case 3: return Type::IfcDraughtingCallout; } throw IfcParse::IfcException("argument out of range"); } @@ -8160,13 +8006,11 @@ public: class IfcEnvironmentalImpactValue : public IfcAppliedValue { public: std::string ImpactType() const; - void setImpactType(std::string v); + void ImpactType(std::string v); IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum Category() const; - void setCategory(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v); - /// Whether the optional attribute UserDefinedCategory is defined for this IfcEnvironmentalImpactValue - bool hasUserDefinedCategory() const; - std::string UserDefinedCategory() const; - void setUserDefinedCategory(std::string v); + void Category(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v); + boost::optional< std::string > UserDefinedCategory() const; + void UserDefinedCategory(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcAppliedValue::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcLabel; case 7: return Type::IfcEnvironmentalImpactCategoryEnum; case 8: return Type::IfcLabel; } return IfcAppliedValue::getArgumentEntity(i); } @@ -8176,7 +8020,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnvironmentalImpactValue (IfcAbstractEntity* e); - IfcEnvironmentalImpactValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< std::string > v9_UserDefinedCategory); + IfcEnvironmentalImpactValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< IfcDateTimeSelect* > v5_ApplicableDate, boost::optional< IfcDateTimeSelect* > v6_FixedUntilDate, std::string v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< std::string > v9_UserDefinedCategory); typedef IfcTemplatedEntityList< IfcEnvironmentalImpactValue > list; }; /// An IfcExternalReference is the identification of information that is not explicitly represented in the current model or in the project database (as an implementation of the current model). Such information may be contained in classifications, documents or libraries. The IfcExternalReference identifies a particular item, such as a @@ -8190,22 +8034,16 @@ public: /// HISTORY New entity in IFC2x. class IfcExternalReference : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Location is defined for this IfcExternalReference - bool hasLocation() const; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// /// IFC2x4 CHANGE  The data type has been changed from IfcLabel to IfcURIReference. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute ItemReference is defined for this IfcExternalReference - bool hasItemReference() const; - std::string ItemReference() const; - void setItemReference(std::string v); - /// Whether the optional attribute Name is defined for this IfcExternalReference - bool hasName() const; + boost::optional< std::string > Location() const; + void Location(boost::optional< std::string > v); + boost::optional< std::string > ItemReference() const; + void ItemReference(boost::optional< std::string > v); /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8330,17 +8168,15 @@ public: /// Figure 242 — Grid axis class IfcGridAxis : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute AxisTag is defined for this IfcGridAxis - bool hasAxisTag() const; /// The tag or name for this grid axis. - std::string AxisTag() const; - void setAxisTag(std::string v); + boost::optional< std::string > AxisTag() const; + void AxisTag(boost::optional< std::string > v); /// Underlying curve which provides the geometry for this grid axis. IfcCurve* AxisCurve() const; - void setAxisCurve(IfcCurve* v); + void AxisCurve(IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcCurve; case 2: return Type::IfcBoolean; } throw IfcParse::IfcException("argument out of range"); } @@ -8364,10 +8200,10 @@ class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. IfcDateTimeSelect* TimeStamp() const; - void setTimeStamp(IfcDateTimeSelect* v); + void TimeStamp(IfcDateTimeSelect* v); /// A list of time-series values. At least one value is required. IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); + void ListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDateTimeSelect; case 1: return Type::IfcValue; } throw IfcParse::IfcException("argument out of range"); } @@ -8392,28 +8228,20 @@ class IfcLibraryInformation : public IfcUtil::IfcBaseEntity { public: /// The name which is used to identify the library. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Version is defined for this IfcLibraryInformation - bool hasVersion() const; + void Name(std::string v); /// Identifier for the library version used for reference. - std::string Version() const; - void setVersion(std::string v); - /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation - bool hasPublisher() const; + boost::optional< std::string > Version() const; + void Version(boost::optional< std::string > v); /// Information of the organization that acts as the library publisher. - IfcOrganization* Publisher() const; - void setPublisher(IfcOrganization* v); - /// Whether the optional attribute VersionDate is defined for this IfcLibraryInformation - bool hasVersionDate() const; + boost::optional< IfcOrganization* > Publisher() const; + void Publisher(boost::optional< IfcOrganization* > v); /// Date of the referenced version of the library. /// /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* VersionDate() const; - void setVersionDate(IfcCalendarDate* v); - /// Whether the optional attribute LibraryReference is defined for this IfcLibraryInformation - bool hasLibraryReference() const; - IfcTemplatedEntityList< IfcLibraryReference >::ptr LibraryReference() const; - void setLibraryReference(IfcTemplatedEntityList< IfcLibraryReference >::ptr v); + boost::optional< IfcCalendarDate* > VersionDate() const; + void VersionDate(boost::optional< IfcCalendarDate* > v); + boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > LibraryReference() const; + void LibraryReference(boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; case 2: return Type::IfcOrganization; case 3: return Type::IfcCalendarDate; case 4: return Type::IfcLibraryReference; } throw IfcParse::IfcException("argument out of range"); } @@ -8423,7 +8251,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryInformation (IfcAbstractEntity* e); - IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference); + IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, boost::optional< IfcOrganization* > v3_Publisher, boost::optional< IfcCalendarDate* > v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference); typedef IfcTemplatedEntityList< IfcLibraryInformation > list; }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. @@ -8467,15 +8295,15 @@ class IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; - void setMainPlaneAngle(double v); + void MainPlaneAngle(double v); /// The list of secondary plane angles (the α, β or γ angles) according to the light distribution curve chosen. /// /// NOTE: The SecondaryPlaneAngle and LuminousIntensity lists are corresponding lists. std::vector< double > /*[1:?]*/ SecondaryPlaneAngle() const; - void setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v); + void SecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. std::vector< double > /*[1:?]*/ LuminousIntensity() const; - void setLuminousIntensity(std::vector< double > /*[1:?]*/ v); + void LuminousIntensity(std::vector< double > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPlaneAngleMeasure; case 1: return Type::IfcPlaneAngleMeasure; case 2: return Type::IfcLuminousIntensityDistributionMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -8495,10 +8323,10 @@ class IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve() const; - void setLightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v); + void LightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v); /// Light distribution data applied to the light source. It is defined by a list of main plane angles (B or C according to the light distribution curve chosen) that includes (for each B or C angle) a second list of secondary plane angles (the β or γ angles) and the according luminous intensity distribution measures. IfcTemplatedEntityList< IfcLightDistributionData >::ptr DistributionData() const; - void setDistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v); + void DistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLightDistributionCurveEnum; case 1: return Type::IfcLightDistributionData; } throw IfcParse::IfcException("argument out of range"); } @@ -8515,23 +8343,15 @@ public: class IfcLocalTime : public IfcUtil::IfcBaseEntity { public: int HourComponent() const; - void setHourComponent(int v); - /// Whether the optional attribute MinuteComponent is defined for this IfcLocalTime - bool hasMinuteComponent() const; - int MinuteComponent() const; - void setMinuteComponent(int v); - /// Whether the optional attribute SecondComponent is defined for this IfcLocalTime - bool hasSecondComponent() const; - double SecondComponent() const; - void setSecondComponent(double v); - /// Whether the optional attribute Zone is defined for this IfcLocalTime - bool hasZone() const; - IfcCoordinatedUniversalTimeOffset* Zone() const; - void setZone(IfcCoordinatedUniversalTimeOffset* v); - /// Whether the optional attribute DaylightSavingOffset is defined for this IfcLocalTime - bool hasDaylightSavingOffset() const; - int DaylightSavingOffset() const; - void setDaylightSavingOffset(int v); + void HourComponent(int v); + boost::optional< int > MinuteComponent() const; + void MinuteComponent(boost::optional< int > v); + boost::optional< double > SecondComponent() const; + void SecondComponent(boost::optional< double > v); + boost::optional< IfcCoordinatedUniversalTimeOffset* > Zone() const; + void Zone(boost::optional< IfcCoordinatedUniversalTimeOffset* > v); + boost::optional< int > DaylightSavingOffset() const; + void DaylightSavingOffset(boost::optional< int > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcHourInDay; case 1: return Type::IfcMinuteInHour; case 2: return Type::IfcSecondInMinute; case 3: return Type::IfcCoordinatedUniversalTimeOffset; case 4: return Type::IfcDaylightSavingHour; } throw IfcParse::IfcException("argument out of range"); } @@ -8541,7 +8361,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLocalTime (IfcAbstractEntity* e); - IfcLocalTime (int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< int > v5_DaylightSavingOffset); + IfcLocalTime (int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, boost::optional< IfcCoordinatedUniversalTimeOffset* > v4_Zone, boost::optional< int > v5_DaylightSavingOffset); typedef IfcTemplatedEntityList< IfcLocalTime > list; }; /// IfcMaterial is a homogeneous or inhomogeneous @@ -8579,7 +8399,7 @@ public: /// /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8603,10 +8423,10 @@ class IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. IfcEntityList::ptr MaterialClassifications() const; - void setMaterialClassifications(IfcEntityList::ptr v); + void MaterialClassifications(IfcEntityList::ptr v); /// Material being classified. IfcMaterial* ClassifiedMaterial() const; - void setClassifiedMaterial(IfcMaterial* v); + void ClassifiedMaterial(IfcMaterial* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClassificationNotationSelect; case 1: return Type::IfcMaterial; } throw IfcParse::IfcException("argument out of range"); } @@ -8644,27 +8464,23 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IfcMaterialLayer : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Material is defined for this IfcMaterialLayer - bool hasMaterial() const; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. - IfcMaterial* Material() const; - void setMaterial(IfcMaterial* v); + boost::optional< IfcMaterial* > Material() const; + void Material(boost::optional< IfcMaterial* > v); /// The thickness of the material layer. The dimension is measured along the positive MlsDirection as specified in IfcMaterialLayerSet (that is mapped to AXIS-2, as specified in IfcMaterialLayerSetUsage for element occurrences supporting IfcMaterialLayerSetUsage. /// /// NOTE  The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation. /// /// IFC2x4 CHANGE  The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. double LayerThickness() const; - void setLayerThickness(double v); - /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer - bool hasIsVentilated() const; + void LayerThickness(double v); /// Indication of whether the material layer represents an air layer (or cavity). /// /// set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. /// set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). /// set to FALSE if the material layer is a solid material layer (the default). - bool IsVentilated() const; - void setIsVentilated(bool v); + boost::optional< bool > IsVentilated() const; + void IsVentilated(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterial; case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcLogical; } throw IfcParse::IfcException("argument out of range"); } @@ -8675,7 +8491,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayer (IfcAbstractEntity* e); - IfcMaterialLayer (IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated); + IfcMaterialLayer (boost::optional< IfcMaterial* > v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated); typedef IfcTemplatedEntityList< IfcMaterialLayer > list; }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. @@ -8715,12 +8531,10 @@ class IfcMaterialLayerSet : public IfcUtil::IfcBaseEntity { public: /// Identification of the layers from which the material layer set is composed. IfcTemplatedEntityList< IfcMaterialLayer >::ptr MaterialLayers() const; - void setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v); - /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet - bool hasLayerSetName() const; + void MaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v); /// The name by which the material layer set is known. - std::string LayerSetName() const; - void setLayerSetName(std::string v); + boost::optional< std::string > LayerSetName() const; + void LayerSetName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterialLayer; case 1: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8837,21 +8651,21 @@ class IfcMaterialLayerSetUsage : public IfcUtil::IfcBaseEntity { public: /// The IfcMaterialLayerSet set to which the usage is applied. IfcMaterialLayerSet* ForLayerSet() const; - void setForLayerSet(IfcMaterialLayerSet* v); + void ForLayerSet(IfcMaterialLayerSet* v); /// Orientation of the material layer set relative to element reference geometry. The meaning of the value of this attribute shall be specified in the geometry use section for each element. For extruded shape representation, direction can be given along the extrusion path (e.g. for slabs) or perpendicular to it (e.g. for walls). /// /// NOTE  the LayerSetDirection for IfcWallStandardCase shall be AXIS2 (i.e. the y-axis) and for IfcSlabStandardCase and IfcPlateStandardCase it shall be AXIS3 (i.e. the z-axis). /// /// Whether the material layers of the set being used shall 'grow' into the positive or negative direction of the given axis, shall be deifned by DirectionSense attribute. IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum LayerSetDirection() const; - void setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); + void LayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); /// Denotion whether the material layer set is oriented in positive or negative sense along the specified axis (defined by LayerSetDirection). "Positive" means that the consecutive layers (the IfcMaterialLayer instances in the list of IfcMaterialLayerSet.MaterialLayers) are placed face-by-face in the direction of the positive axis as established by LayerSetDirection: for AXIS2 it would be in +y, for AXIS3 it would be +z. "Negative" means that the layers are placed face-by-face in the direction of the negative LayerSetDirection. In both cases, starting at the material layer set base line. /// NOTE  the material layer set base line (MlsBase) is located by OffsetFromReferenceLine, and may be on the positive or negative side of the element reference line (or plane); positive or negative for MlsBase placement does not depend on the DirectionSense attribute, but on the relevant element axis. IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; - void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); + void DirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. double OffsetFromReferenceLine() const; - void setOffsetFromReferenceLine(double v); + void OffsetFromReferenceLine(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterialLayerSet; case 1: return Type::IfcLayerSetDirectionEnum; case 2: return Type::IfcDirectionSenseEnum; case 3: return Type::IfcLengthMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -8885,7 +8699,7 @@ class IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. IfcTemplatedEntityList< IfcMaterial >::ptr Materials() const; - void setMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v); + void Materials(IfcTemplatedEntityList< IfcMaterial >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterial; } throw IfcParse::IfcException("argument out of range"); } @@ -8926,7 +8740,7 @@ public: /// /// IFC2x4 CHANGE The datatype has been changed to supertype IfcMaterialDefinition. IfcMaterial* Material() const; - void setMaterial(IfcMaterial* v); + void Material(IfcMaterial* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterial; } throw IfcParse::IfcException("argument out of range"); } @@ -8953,10 +8767,10 @@ class IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. IfcValue* ValueComponent() const; - void setValueComponent(IfcValue* v); + void ValueComponent(IfcValue* v); /// The unit in which the physical quantity is expressed. IfcUnit* UnitComponent() const; - void setUnitComponent(IfcUnit* v); + void UnitComponent(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -8972,26 +8786,16 @@ public: class IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute DynamicViscosity is defined for this IfcMechanicalMaterialProperties - bool hasDynamicViscosity() const; - double DynamicViscosity() const; - void setDynamicViscosity(double v); - /// Whether the optional attribute YoungModulus is defined for this IfcMechanicalMaterialProperties - bool hasYoungModulus() const; - double YoungModulus() const; - void setYoungModulus(double v); - /// Whether the optional attribute ShearModulus is defined for this IfcMechanicalMaterialProperties - bool hasShearModulus() const; - double ShearModulus() const; - void setShearModulus(double v); - /// Whether the optional attribute PoissonRatio is defined for this IfcMechanicalMaterialProperties - bool hasPoissonRatio() const; - double PoissonRatio() const; - void setPoissonRatio(double v); - /// Whether the optional attribute ThermalExpansionCoefficient is defined for this IfcMechanicalMaterialProperties - bool hasThermalExpansionCoefficient() const; - double ThermalExpansionCoefficient() const; - void setThermalExpansionCoefficient(double v); + boost::optional< double > DynamicViscosity() const; + void DynamicViscosity(boost::optional< double > v); + boost::optional< double > YoungModulus() const; + void YoungModulus(boost::optional< double > v); + boost::optional< double > ShearModulus() const; + void ShearModulus(boost::optional< double > v); + boost::optional< double > PoissonRatio() const; + void PoissonRatio(boost::optional< double > v); + boost::optional< double > ThermalExpansionCoefficient() const; + void ThermalExpansionCoefficient(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDynamicViscosityMeasure; case 2: return Type::IfcModulusOfElasticityMeasure; case 3: return Type::IfcModulusOfElasticityMeasure; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcThermalExpansionCoefficientMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -9007,34 +8811,20 @@ public: class IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { public: - /// Whether the optional attribute YieldStress is defined for this IfcMechanicalSteelMaterialProperties - bool hasYieldStress() const; - double YieldStress() const; - void setYieldStress(double v); - /// Whether the optional attribute UltimateStress is defined for this IfcMechanicalSteelMaterialProperties - bool hasUltimateStress() const; - double UltimateStress() const; - void setUltimateStress(double v); - /// Whether the optional attribute UltimateStrain is defined for this IfcMechanicalSteelMaterialProperties - bool hasUltimateStrain() const; - double UltimateStrain() const; - void setUltimateStrain(double v); - /// Whether the optional attribute HardeningModule is defined for this IfcMechanicalSteelMaterialProperties - bool hasHardeningModule() const; - double HardeningModule() const; - void setHardeningModule(double v); - /// Whether the optional attribute ProportionalStress is defined for this IfcMechanicalSteelMaterialProperties - bool hasProportionalStress() const; - double ProportionalStress() const; - void setProportionalStress(double v); - /// Whether the optional attribute PlasticStrain is defined for this IfcMechanicalSteelMaterialProperties - bool hasPlasticStrain() const; - double PlasticStrain() const; - void setPlasticStrain(double v); - /// Whether the optional attribute Relaxations is defined for this IfcMechanicalSteelMaterialProperties - bool hasRelaxations() const; - IfcTemplatedEntityList< IfcRelaxation >::ptr Relaxations() const; - void setRelaxations(IfcTemplatedEntityList< IfcRelaxation >::ptr v); + boost::optional< double > YieldStress() const; + void YieldStress(boost::optional< double > v); + boost::optional< double > UltimateStress() const; + void UltimateStress(boost::optional< double > v); + boost::optional< double > UltimateStrain() const; + void UltimateStrain(boost::optional< double > v); + boost::optional< double > HardeningModule() const; + void HardeningModule(boost::optional< double > v); + boost::optional< double > ProportionalStress() const; + void ProportionalStress(boost::optional< double > v); + boost::optional< double > PlasticStrain() const; + void PlasticStrain(boost::optional< double > v); + boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > Relaxations() const; + void Relaxations(boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENTITY_LIST; } return IfcMechanicalMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcPressureMeasure; case 7: return Type::IfcPressureMeasure; case 8: return Type::IfcPositiveRatioMeasure; case 9: return Type::IfcModulusOfElasticityMeasure; case 10: return Type::IfcPressureMeasure; case 11: return Type::IfcPositiveRatioMeasure; case 12: return Type::IfcRelaxation; } return IfcMechanicalMaterialProperties::getArgumentEntity(i); } @@ -9103,15 +8893,13 @@ class IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark() const; - void setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v); - /// Whether the optional attribute ValueSource is defined for this IfcMetric - bool hasValueSource() const; + void Benchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v); /// Reference source for data values. - std::string ValueSource() const; - void setValueSource(std::string v); + boost::optional< std::string > ValueSource() const; + void ValueSource(boost::optional< std::string > v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. IfcMetricValueSelect* DataValue() const; - void setDataValue(IfcMetricValueSelect* v); + void DataValue(IfcMetricValueSelect* v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_ENTITY; } return IfcConstraint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcBenchmarkEnum; case 8: return Type::IfcLabel; case 9: return Type::IfcMetricValueSelect; } return IfcConstraint::getArgumentEntity(i); } @@ -9121,7 +8909,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMetric (IfcAbstractEntity* e); - IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue); + IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< IfcDateTimeSelect* > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue); typedef IfcTemplatedEntityList< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. @@ -9133,7 +8921,7 @@ class IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. IfcCurrencyEnum::IfcCurrencyEnum Currency() const; - void setCurrency(IfcCurrencyEnum::IfcCurrencyEnum v); + void Currency(IfcCurrencyEnum::IfcCurrencyEnum v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurrencyEnum; } throw IfcParse::IfcException("argument out of range"); } @@ -9155,10 +8943,10 @@ class IfcNamedUnit : public IfcUtil::IfcBaseEntity { public: /// The dimensional exponents of the SI base units by which the named unit is defined. IfcDimensionalExponents* Dimensions() const; - void setDimensions(IfcDimensionalExponents* v); + void Dimensions(IfcDimensionalExponents* v); /// The type of the unit. IfcUnitEnum::IfcUnitEnum UnitType() const; - void setUnitType(IfcUnitEnum::IfcUnitEnum v); + void UnitType(IfcUnitEnum::IfcUnitEnum v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDimensionalExponents; case 1: return Type::IfcUnitEnum; } throw IfcParse::IfcException("argument out of range"); } @@ -9209,24 +8997,18 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IfcObjective : public IfcConstraint { public: - /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective - bool hasBenchmarkValues() const; /// A list of any benchmark values used for comparison purposes. - IfcMetric* BenchmarkValues() const; - void setBenchmarkValues(IfcMetric* v); - /// Whether the optional attribute ResultValues is defined for this IfcObjective - bool hasResultValues() const; + boost::optional< IfcMetric* > BenchmarkValues() const; + void BenchmarkValues(boost::optional< IfcMetric* > v); /// A list of any resultant values used for comparison purposes. - IfcMetric* ResultValues() const; - void setResultValues(IfcMetric* v); + boost::optional< IfcMetric* > ResultValues() const; + void ResultValues(boost::optional< IfcMetric* > v); /// Enumeration that qualifies the type of objective constraint. IfcObjectiveEnum::IfcObjectiveEnum ObjectiveQualifier() const; - void setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v); - /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective - bool hasUserDefinedQualifier() const; + void ObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v); /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - std::string UserDefinedQualifier() const; - void setUserDefinedQualifier(std::string v); + boost::optional< std::string > UserDefinedQualifier() const; + void UserDefinedQualifier(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcConstraint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcMetric; case 8: return Type::IfcMetric; case 9: return Type::IfcObjectiveEnum; case 10: return Type::IfcLabel; } return IfcConstraint::getArgumentEntity(i); } @@ -9236,48 +9018,30 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjective (IfcAbstractEntity* e); - IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); + IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< IfcDateTimeSelect* > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcMetric* > v8_BenchmarkValues, boost::optional< IfcMetric* > v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); typedef IfcTemplatedEntityList< IfcObjective > list; }; class IfcOpticalMaterialProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute VisibleTransmittance is defined for this IfcOpticalMaterialProperties - bool hasVisibleTransmittance() const; - double VisibleTransmittance() const; - void setVisibleTransmittance(double v); - /// Whether the optional attribute SolarTransmittance is defined for this IfcOpticalMaterialProperties - bool hasSolarTransmittance() const; - double SolarTransmittance() const; - void setSolarTransmittance(double v); - /// Whether the optional attribute ThermalIrTransmittance is defined for this IfcOpticalMaterialProperties - bool hasThermalIrTransmittance() const; - double ThermalIrTransmittance() const; - void setThermalIrTransmittance(double v); - /// Whether the optional attribute ThermalIrEmissivityBack is defined for this IfcOpticalMaterialProperties - bool hasThermalIrEmissivityBack() const; - double ThermalIrEmissivityBack() const; - void setThermalIrEmissivityBack(double v); - /// Whether the optional attribute ThermalIrEmissivityFront is defined for this IfcOpticalMaterialProperties - bool hasThermalIrEmissivityFront() const; - double ThermalIrEmissivityFront() const; - void setThermalIrEmissivityFront(double v); - /// Whether the optional attribute VisibleReflectanceBack is defined for this IfcOpticalMaterialProperties - bool hasVisibleReflectanceBack() const; - double VisibleReflectanceBack() const; - void setVisibleReflectanceBack(double v); - /// Whether the optional attribute VisibleReflectanceFront is defined for this IfcOpticalMaterialProperties - bool hasVisibleReflectanceFront() const; - double VisibleReflectanceFront() const; - void setVisibleReflectanceFront(double v); - /// Whether the optional attribute SolarReflectanceFront is defined for this IfcOpticalMaterialProperties - bool hasSolarReflectanceFront() const; - double SolarReflectanceFront() const; - void setSolarReflectanceFront(double v); - /// Whether the optional attribute SolarReflectanceBack is defined for this IfcOpticalMaterialProperties - bool hasSolarReflectanceBack() const; - double SolarReflectanceBack() const; - void setSolarReflectanceBack(double v); + boost::optional< double > VisibleTransmittance() const; + void VisibleTransmittance(boost::optional< double > v); + boost::optional< double > SolarTransmittance() const; + void SolarTransmittance(boost::optional< double > v); + boost::optional< double > ThermalIrTransmittance() const; + void ThermalIrTransmittance(boost::optional< double > v); + boost::optional< double > ThermalIrEmissivityBack() const; + void ThermalIrEmissivityBack(boost::optional< double > v); + boost::optional< double > ThermalIrEmissivityFront() const; + void ThermalIrEmissivityFront(boost::optional< double > v); + boost::optional< double > VisibleReflectanceBack() const; + void VisibleReflectanceBack(boost::optional< double > v); + boost::optional< double > VisibleReflectanceFront() const; + void VisibleReflectanceFront(boost::optional< double > v); + boost::optional< double > SolarReflectanceFront() const; + void SolarReflectanceFront(boost::optional< double > v); + boost::optional< double > SolarReflectanceBack() const; + void SolarReflectanceBack(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveRatioMeasure; case 2: return Type::IfcPositiveRatioMeasure; case 3: return Type::IfcPositiveRatioMeasure; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcPositiveRatioMeasure; case 6: return Type::IfcPositiveRatioMeasure; case 7: return Type::IfcPositiveRatioMeasure; case 8: return Type::IfcPositiveRatioMeasure; case 9: return Type::IfcPositiveRatioMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -9300,29 +9064,21 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IfcOrganization : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Id is defined for this IfcOrganization - bool hasId() const; - std::string Id() const; - void setId(std::string v); + boost::optional< std::string > Id() const; + void Id(boost::optional< std::string > v); /// The word, or group of words, by which the organization is referred to. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcOrganization - bool hasDescription() const; + void Name(std::string v); /// Text that relates the nature of the organization. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Roles is defined for this IfcOrganization - bool hasRoles() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Roles played by the organization. - IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); - /// Whether the optional attribute Addresses is defined for this IfcOrganization - bool hasAddresses() const; + boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > Roles() const; + void Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v); /// Postal and telecom addresses of an organization. /// NOTE: There may be several addresses related to an organization. - IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; - void setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > Addresses() const; + void Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcActorRole; case 4: return Type::IfcAddress; } throw IfcParse::IfcException("argument out of range"); } @@ -9348,18 +9104,16 @@ class IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the relationship is referred to. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcOrganizationRelationship - bool hasDescription() const; + void Name(std::string v); /// Text that relates the nature of the relationship. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Organization which is the relating part of the relationship between organizations. IfcOrganization* RelatingOrganization() const; - void setRelatingOrganization(IfcOrganization* v); + void RelatingOrganization(IfcOrganization* v); /// The other, possibly dependent, organizations which are the related parts of the relationship between organizations. IfcTemplatedEntityList< IfcOrganization >::ptr RelatedOrganizations() const; - void setRelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v); + void RelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcOrganization; case 3: return Type::IfcOrganization; } throw IfcParse::IfcException("argument out of range"); } @@ -9386,36 +9140,28 @@ class IfcOwnerHistory : public IfcUtil::IfcBaseEntity { public: /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. IfcPersonAndOrganization* OwningUser() const; - void setOwningUser(IfcPersonAndOrganization* v); + void OwningUser(IfcPersonAndOrganization* v); /// Direct reference to the application which currently "Owns" this object on behalf of the owning user, who uses this application. Note that IFC includes the concept of ownership transfer from one application to another and therefore distinguishes between the Owning Application and Creating Application. IfcApplication* OwningApplication() const; - void setOwningApplication(IfcApplication* v); - /// Whether the optional attribute State is defined for this IfcOwnerHistory - bool hasState() const; + void OwningApplication(IfcApplication* v); /// Enumeration that defines the current access state of the object. - IfcStateEnum::IfcStateEnum State() const; - void setState(IfcStateEnum::IfcStateEnum v); + boost::optional< IfcStateEnum::IfcStateEnum > State() const; + void State(boost::optional< IfcStateEnum::IfcStateEnum > v); /// Enumeration that defines the actions associated with changes made to the object. IfcChangeActionEnum::IfcChangeActionEnum ChangeAction() const; - void setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v); - /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory - bool hasLastModifiedDate() const; + void ChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v); /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - int LastModifiedDate() const; - void setLastModifiedDate(int v); - /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory - bool hasLastModifyingUser() const; + boost::optional< int > LastModifiedDate() const; + void LastModifiedDate(boost::optional< int > v); /// User who carried out the last modification using LastModifyingApplication. - IfcPersonAndOrganization* LastModifyingUser() const; - void setLastModifyingUser(IfcPersonAndOrganization* v); - /// Whether the optional attribute LastModifyingApplication is defined for this IfcOwnerHistory - bool hasLastModifyingApplication() const; + boost::optional< IfcPersonAndOrganization* > LastModifyingUser() const; + void LastModifyingUser(boost::optional< IfcPersonAndOrganization* > v); /// Application used to make the last modification. - IfcApplication* LastModifyingApplication() const; - void setLastModifyingApplication(IfcApplication* v); + boost::optional< IfcApplication* > LastModifyingApplication() const; + void LastModifyingApplication(boost::optional< IfcApplication* > v); /// The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. int CreationDate() const; - void setCreationDate(int v); + void CreationDate(int v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPersonAndOrganization; case 1: return Type::IfcApplication; case 2: return Type::IfcStateEnum; case 3: return Type::IfcChangeActionEnum; case 4: return Type::IfcTimeStamp; case 5: return Type::IfcPersonAndOrganization; case 6: return Type::IfcApplication; case 7: return Type::IfcTimeStamp; } throw IfcParse::IfcException("argument out of range"); } @@ -9425,7 +9171,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOwnerHistory (IfcAbstractEntity* e); - IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, boost::optional< IfcPersonAndOrganization* > v6_LastModifyingUser, boost::optional< IfcApplication* > v7_LastModifyingApplication, int v8_CreationDate); typedef IfcTemplatedEntityList< IfcOwnerHistory > list; }; /// Definition: an individual human being. @@ -9439,51 +9185,35 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IfcPerson : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Id is defined for this IfcPerson - bool hasId() const; - std::string Id() const; - void setId(std::string v); - /// Whether the optional attribute FamilyName is defined for this IfcPerson - bool hasFamilyName() const; + boost::optional< std::string > Id() const; + void Id(boost::optional< std::string > v); /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - std::string FamilyName() const; - void setFamilyName(std::string v); - /// Whether the optional attribute GivenName is defined for this IfcPerson - bool hasGivenName() const; + boost::optional< std::string > FamilyName() const; + void FamilyName(boost::optional< std::string > v); /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - std::string GivenName() const; - void setGivenName(std::string v); - /// Whether the optional attribute MiddleNames is defined for this IfcPerson - bool hasMiddleNames() const; + boost::optional< std::string > GivenName() const; + void GivenName(boost::optional< std::string > v); /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// NOTE: Middle names are not normally used in familiar communication but may be asserted to provide additional /// identification of a particular person if necessary. They may be particularly useful in situations where the person concerned has a /// family name that occurs commonly in the geographical region. - std::vector< std::string > /*[1:?]*/ MiddleNames() const; - void setMiddleNames(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PrefixTitles is defined for this IfcPerson - bool hasPrefixTitles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > MiddleNames() const; + void MiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< std::string > /*[1:?]*/ PrefixTitles() const; - void setPrefixTitles(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute SuffixTitles is defined for this IfcPerson - bool hasSuffixTitles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > PrefixTitles() const; + void PrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< std::string > /*[1:?]*/ SuffixTitles() const; - void setSuffixTitles(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute Roles is defined for this IfcPerson - bool hasRoles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > SuffixTitles() const; + void SuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// Roles played by the person. - IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); - /// Whether the optional attribute Addresses is defined for this IfcPerson - bool hasAddresses() const; + boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > Roles() const; + void Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v); /// Postal and telecommunication addresses of a person. /// NOTE - A person may have several addresses. - IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; - void setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > Addresses() const; + void Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_VECTOR_STRING; case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcActorRole; case 7: return Type::IfcAddress; } throw IfcParse::IfcException("argument out of range"); } @@ -9506,15 +9236,13 @@ class IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { public: /// The person who is related to the organization. IfcPerson* ThePerson() const; - void setThePerson(IfcPerson* v); + void ThePerson(IfcPerson* v); /// The organization to which the person is related. IfcOrganization* TheOrganization() const; - void setTheOrganization(IfcOrganization* v); - /// Whether the optional attribute Roles is defined for this IfcPersonAndOrganization - bool hasRoles() const; + void TheOrganization(IfcOrganization* v); /// Roles played by the person within the context of an organization. These may differ from the roles in ThePerson.Roles which may be asserted without organizational context. - IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > Roles() const; + void Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPerson; case 1: return Type::IfcOrganization; case 2: return Type::IfcActorRole; } throw IfcParse::IfcException("argument out of range"); } @@ -9536,12 +9264,10 @@ class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity - bool hasDescription() const; + void Name(std::string v); /// Further explanation that might be given to the quantity. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -9566,11 +9292,9 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity - bool hasUnit() const; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. - IfcNamedUnit* Unit() const; - void setUnit(IfcNamedUnit* v); + boost::optional< IfcNamedUnit* > Unit() const; + void Unit(boost::optional< IfcNamedUnit* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPhysicalQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcNamedUnit; } return IfcPhysicalQuantity::getArgumentEntity(i); } @@ -9580,7 +9304,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalSimpleQuantity (IfcAbstractEntity* e); - IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit); + IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit); typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. @@ -9588,47 +9312,33 @@ public: /// HISTORY New entity in IFC Release 2x. class IfcPostalAddress : public IfcAddress { public: - /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress - bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - std::string InternalLocation() const; - void setInternalLocation(std::string v); - /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress - bool hasAddressLines() const; + boost::optional< std::string > InternalLocation() const; + void InternalLocation(boost::optional< std::string > v); /// The postal address. /// NOTE: A postal address may occupy several lines (or elements) when recorded. /// It is expected that normal usage will incorporate relevant elements of the following address concepts: /// A location within a building (e.g. 3rd Floor) Building name (e.g. Interoperability House) Street number /// (e.g. 6400) Street name (e.g. Alliance Boulevard). Typical content of address lines may vary in different /// countries. - std::vector< std::string > /*[1:?]*/ AddressLines() const; - void setAddressLines(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress - bool hasPostalBox() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > AddressLines() const; + void AddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// An address that is implied by an identifiable mail drop. - std::string PostalBox() const; - void setPostalBox(std::string v); - /// Whether the optional attribute Town is defined for this IfcPostalAddress - bool hasTown() const; + boost::optional< std::string > PostalBox() const; + void PostalBox(boost::optional< std::string > v); /// The name of a town. - std::string Town() const; - void setTown(std::string v); - /// Whether the optional attribute Region is defined for this IfcPostalAddress - bool hasRegion() const; + boost::optional< std::string > Town() const; + void Town(boost::optional< std::string > v); /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - std::string Region() const; - void setRegion(std::string v); - /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress - bool hasPostalCode() const; + boost::optional< std::string > Region() const; + void Region(boost::optional< std::string > v); /// The code that is used by the country's postal service. - std::string PostalCode() const; - void setPostalCode(std::string v); - /// Whether the optional attribute Country is defined for this IfcPostalAddress - bool hasCountry() const; + boost::optional< std::string > PostalCode() const; + void PostalCode(boost::optional< std::string > v); /// The name of a country. - std::string Country() const; - void setCountry(std::string v); + boost::optional< std::string > Country() const; + void Country(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::IfcLabel; } return IfcAddress::getArgumentEntity(i); } @@ -9652,7 +9362,7 @@ class IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -9745,20 +9455,16 @@ class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment - bool hasDescription() const; + void Name(std::string v); /// Additional description of the layer. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. IfcEntityList::ptr AssignedItems() const; - void setAssignedItems(IfcEntityList::ptr v); - /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment - bool hasIdentifier() const; + void AssignedItems(IfcEntityList::ptr v); /// An (internal) identifier assigned to the layer. - std::string Identifier() const; - void setIdentifier(std::string v); + boost::optional< std::string > Identifier() const; + void Identifier(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcLayeredItem; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcException("argument out of range"); } @@ -9788,20 +9494,20 @@ class IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. bool LayerOn() const; - void setLayerOn(bool v); + void LayerOn(bool v); /// A logical setting, TRUE indicates that the layer is set to 'Frozen', FALSE that the layer is set to 'Not frozen', UNKNOWN that such information is not available. bool LayerFrozen() const; - void setLayerFrozen(bool v); + void LayerFrozen(bool v); /// A logical setting, TRUE indicates that the layer is set to 'Blocked', FALSE that the layer is set to 'Not blocked', UNKNOWN that such information is not available. bool LayerBlocked() const; - void setLayerBlocked(bool v); + void LayerBlocked(bool v); /// Assignment of presentation styles to the layer to provide a default style for representation items. /// /// NOTE  In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. /// /// IFC2x4 CHANGE  The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. IfcEntityList::ptr LayerStyles() const; - void setLayerStyles(IfcEntityList::ptr v); + void LayerStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; case 7: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationLayerAssignment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; case 7: return Type::IfcPresentationStyleSelect; } return IfcPresentationLayerAssignment::getArgumentEntity(i); } @@ -9821,11 +9527,9 @@ public: /// HISTORY  New entity in IFC2x3. class IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcPresentationStyle - bool hasName() const; /// Name of the presentation style. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -9847,7 +9551,7 @@ class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. IfcEntityList::ptr Styles() const; - void setStyles(IfcEntityList::ptr v); + void Styles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPresentationStyleSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -9879,19 +9583,15 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcProductRepresentation - bool hasName() const; /// The word or group of words by which the product representation is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcProductRepresentation - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. IfcTemplatedEntityList< IfcRepresentation >::ptr Representations() const; - void setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v); + void Representations(IfcTemplatedEntityList< IfcRepresentation >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcRepresentation; } throw IfcParse::IfcException("argument out of range"); } @@ -9907,22 +9607,14 @@ public: class IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcProductsOfCombustionProperties - bool hasSpecificHeatCapacity() const; - double SpecificHeatCapacity() const; - void setSpecificHeatCapacity(double v); - /// Whether the optional attribute N20Content is defined for this IfcProductsOfCombustionProperties - bool hasN20Content() const; - double N20Content() const; - void setN20Content(double v); - /// Whether the optional attribute COContent is defined for this IfcProductsOfCombustionProperties - bool hasCOContent() const; - double COContent() const; - void setCOContent(double v); - /// Whether the optional attribute CO2Content is defined for this IfcProductsOfCombustionProperties - bool hasCO2Content() const; - double CO2Content() const; - void setCO2Content(double v); + boost::optional< double > SpecificHeatCapacity() const; + void SpecificHeatCapacity(boost::optional< double > v); + boost::optional< double > N20Content() const; + void N20Content(boost::optional< double > v); + boost::optional< double > COContent() const; + void COContent(boost::optional< double > v); + boost::optional< double > CO2Content() const; + void CO2Content(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSpecificHeatCapacityMeasure; case 2: return Type::IfcPositiveRatioMeasure; case 3: return Type::IfcPositiveRatioMeasure; case 4: return Type::IfcPositiveRatioMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -10109,12 +9801,10 @@ class IfcProfileDef : public IfcUtil::IfcBaseEntity { public: /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. IfcProfileTypeEnum::IfcProfileTypeEnum ProfileType() const; - void setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v); - /// Whether the optional attribute ProfileName is defined for this IfcProfileDef - bool hasProfileName() const; + void ProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v); /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - std::string ProfileName() const; - void setProfileName(std::string v); + boost::optional< std::string > ProfileName() const; + void ProfileName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProfileTypeEnum; case 1: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -10140,15 +9830,11 @@ public: /// IFC2x4 CHANGE  Entity made non-abstract. Subtypes IfcGeneralProfileProperties, IfcStructuralProfileProperties, and IfcStructuralSteelProfileProperties deleted. Attribute ProfileName deleted, use ProfileDefinition.ProfileName instead. Attribute ProfileDefinition made mandatory. Attributes Name, Description, and HasProperties added. class IfcProfileProperties : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute ProfileName is defined for this IfcProfileProperties - bool hasProfileName() const; - std::string ProfileName() const; - void setProfileName(std::string v); - /// Whether the optional attribute ProfileDefinition is defined for this IfcProfileProperties - bool hasProfileDefinition() const; + boost::optional< std::string > ProfileName() const; + void ProfileName(boost::optional< std::string > v); /// Profile definition which is qualified by these properties. - IfcProfileDef* ProfileDefinition() const; - void setProfileDefinition(IfcProfileDef* v); + boost::optional< IfcProfileDef* > ProfileDefinition() const; + void ProfileDefinition(boost::optional< IfcProfileDef* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcProfileDef; } throw IfcParse::IfcException("argument out of range"); } @@ -10158,7 +9844,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProfileProperties (IfcAbstractEntity* e); - IfcProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition); + IfcProfileProperties (boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition); typedef IfcTemplatedEntityList< IfcProfileProperties > list; }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. @@ -10168,12 +9854,10 @@ class IfcProperty : public IfcUtil::IfcBaseEntity { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcProperty - bool hasDescription() const; + void Name(std::string v); /// Informative text to explain the property. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -10193,17 +9877,13 @@ public: class IfcPropertyConstraintRelationship : public IfcUtil::IfcBaseEntity { public: IfcConstraint* RelatingConstraint() const; - void setRelatingConstraint(IfcConstraint* v); + void RelatingConstraint(IfcConstraint* v); IfcTemplatedEntityList< IfcProperty >::ptr RelatedProperties() const; - void setRelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); - /// Whether the optional attribute Name is defined for this IfcPropertyConstraintRelationship - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPropertyConstraintRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + void RelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcConstraint; case 1: return Type::IfcProperty; case 2: return Type::IfcLabel; case 3: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -10228,23 +9908,17 @@ class IfcPropertyDependencyRelationship : public IfcUtil::IfcBaseEntity { public: /// The property on which the relationship depends. IfcProperty* DependingProperty() const; - void setDependingProperty(IfcProperty* v); + void DependingProperty(IfcProperty* v); /// The dependant property. IfcProperty* DependantProperty() const; - void setDependantProperty(IfcProperty* v); - /// Whether the optional attribute Name is defined for this IfcPropertyDependencyRelationship - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPropertyDependencyRelationship - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship - bool hasExpression() const; + void DependantProperty(IfcProperty* v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Expression that further describes the nature of the dependency relation. - std::string Expression() const; - void setExpression(std::string v); + boost::optional< std::string > Expression() const; + void Expression(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProperty; case 1: return Type::IfcProperty; case 2: return Type::IfcLabel; case 3: return Type::IfcText; case 4: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -10307,15 +9981,13 @@ class IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { public: /// Name of this enumeration. std::string Name() const; - void setName(std::string v); + void Name(std::string v); /// List of values that form the enumeration. IfcEntityList::ptr EnumerationValues() const; - void setEnumerationValues(IfcEntityList::ptr v); - /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration - bool hasUnit() const; + void EnumerationValues(IfcEntityList::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. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcValue; case 2: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -10325,7 +9997,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeration (IfcAbstractEntity* e); - IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit* > v3_Unit); typedef IfcTemplatedEntityList< IfcPropertyEnumeration > list; }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -10337,7 +10009,7 @@ class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; - void setAreaValue(double v); + void AreaValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcAreaMeasure; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -10347,7 +10019,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityArea (IfcAbstractEntity* e); - IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue); + IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_AreaValue); typedef IfcTemplatedEntityList< IfcQuantityArea > list; }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -10359,7 +10031,7 @@ class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; - void setCountValue(double v); + void CountValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcCountMeasure; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -10369,7 +10041,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityCount (IfcAbstractEntity* e); - IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue); + IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_CountValue); typedef IfcTemplatedEntityList< IfcQuantityCount > list; }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -10381,7 +10053,7 @@ class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; - void setLengthValue(double v); + void LengthValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcLengthMeasure; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -10391,7 +10063,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityLength (IfcAbstractEntity* e); - IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue); + IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_LengthValue); typedef IfcTemplatedEntityList< IfcQuantityLength > list; }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. @@ -10403,7 +10075,7 @@ class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; - void setTimeValue(double v); + void TimeValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTimeMeasure; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -10413,7 +10085,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityTime (IfcAbstractEntity* e); - IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue); + IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_TimeValue); typedef IfcTemplatedEntityList< IfcQuantityTime > list; }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -10425,7 +10097,7 @@ class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; - void setVolumeValue(double v); + void VolumeValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcVolumeMeasure; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -10435,7 +10107,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityVolume (IfcAbstractEntity* e); - IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue); + IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_VolumeValue); typedef IfcTemplatedEntityList< IfcQuantityVolume > list; }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -10447,7 +10119,7 @@ class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; - void setWeightValue(double v); + void WeightValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcMassMeasure; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -10457,24 +10129,20 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityWeight (IfcAbstractEntity* e); - IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue); + IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_WeightValue); typedef IfcTemplatedEntityList< IfcQuantityWeight > list; }; class IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { public: IfcDocumentSelect* ReferencedDocument() const; - void setReferencedDocument(IfcDocumentSelect* v); + void ReferencedDocument(IfcDocumentSelect* v); IfcTemplatedEntityList< IfcAppliedValue >::ptr ReferencingValues() const; - void setReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); - /// Whether the optional attribute Name is defined for this IfcReferencesValueDocument - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcReferencesValueDocument - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + void ReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDocumentSelect; case 1: return Type::IfcAppliedValue; case 2: return Type::IfcLabel; case 3: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -10496,30 +10164,22 @@ class IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; - void setTotalCrossSectionArea(double v); + void TotalCrossSectionArea(double v); /// The nominal steel grade defined according to local standards. std::string SteelGrade() const; - void setSteelGrade(std::string v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties - bool hasBarSurface() const; + void SteelGrade(std::string v); /// Indicator for whether the bar surface is plain or textured. - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; - void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); - /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties - bool hasEffectiveDepth() const; + boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > BarSurface() const; + void BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v); /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - double EffectiveDepth() const; - void setEffectiveDepth(double v); - /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties - bool hasNominalBarDiameter() const; + boost::optional< double > EffectiveDepth() const; + void EffectiveDepth(boost::optional< double > v); /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - double NominalBarDiameter() const; - void setNominalBarDiameter(double v); - /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties - bool hasBarCount() const; + boost::optional< double > NominalBarDiameter() const; + void NominalBarDiameter(boost::optional< double > v); /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - double BarCount() const; - void setBarCount(double v); + boost::optional< double > BarCount() const; + void BarCount(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAreaMeasure; case 1: return Type::IfcLabel; case 2: return Type::IfcReinforcingBarSurfaceEnum; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcCountMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -10536,9 +10196,9 @@ public: class IfcRelaxation : public IfcUtil::IfcBaseEntity { public: double RelaxationValue() const; - void setRelaxationValue(double v); + void RelaxationValue(double v); double InitialStress() const; - void setInitialStress(double v); + void InitialStress(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcNormalisedRatioMeasure; case 1: return Type::IfcNormalisedRatioMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -10601,21 +10261,17 @@ class IfcRepresentation : public IfcUtil::IfcBaseEntity { public: /// Definition of the representation context for which the different subtypes of representation are valid. IfcRepresentationContext* ContextOfItems() const; - void setContextOfItems(IfcRepresentationContext* v); - /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation - bool hasRepresentationIdentifier() const; + void ContextOfItems(IfcRepresentationContext* v); /// The optional identifier of the representation as used within a project. - std::string RepresentationIdentifier() const; - void setRepresentationIdentifier(std::string v); - /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation - bool hasRepresentationType() const; + boost::optional< std::string > RepresentationIdentifier() const; + void RepresentationIdentifier(boost::optional< std::string > v); /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - std::string RepresentationType() const; - void setRepresentationType(std::string v); + boost::optional< std::string > RepresentationType() const; + void RepresentationType(boost::optional< std::string > v); /// Set of geometric representation items that are defined for this representation. IfcTemplatedEntityList< IfcRepresentationItem >::ptr Items() const; - void setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v); + void Items(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRepresentationContext; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; case 3: return Type::IfcRepresentationItem; } throw IfcParse::IfcException("argument out of range"); } @@ -10643,16 +10299,12 @@ public: /// IFC2x2. class IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext - bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - std::string ContextIdentifier() const; - void setContextIdentifier(std::string v); - /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext - bool hasContextType() const; + boost::optional< std::string > ContextIdentifier() const; + void ContextIdentifier(boost::optional< std::string > v); /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - std::string ContextType() const; - void setContextType(std::string v); + boost::optional< std::string > ContextType() const; + void ContextType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -10730,10 +10382,10 @@ public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. IfcAxis2Placement* MappingOrigin() const; - void setMappingOrigin(IfcAxis2Placement* v); + void MappingOrigin(IfcAxis2Placement* v); /// A representation that is mapped to at least one mapped item. IfcRepresentation* MappedRepresentation() const; - void setMappedRepresentation(IfcRepresentation* v); + void MappedRepresentation(IfcRepresentation* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement; case 1: return Type::IfcRepresentation; } throw IfcParse::IfcException("argument out of range"); } @@ -10750,24 +10402,16 @@ public: class IfcRibPlateProfileProperties : public IfcProfileProperties { public: - /// Whether the optional attribute Thickness is defined for this IfcRibPlateProfileProperties - bool hasThickness() const; - double Thickness() const; - void setThickness(double v); - /// Whether the optional attribute RibHeight is defined for this IfcRibPlateProfileProperties - bool hasRibHeight() const; - double RibHeight() const; - void setRibHeight(double v); - /// Whether the optional attribute RibWidth is defined for this IfcRibPlateProfileProperties - bool hasRibWidth() const; - double RibWidth() const; - void setRibWidth(double v); - /// Whether the optional attribute RibSpacing is defined for this IfcRibPlateProfileProperties - bool hasRibSpacing() const; - double RibSpacing() const; - void setRibSpacing(double v); + boost::optional< double > Thickness() const; + void Thickness(boost::optional< double > v); + boost::optional< double > RibHeight() const; + void RibHeight(boost::optional< double > v); + boost::optional< double > RibWidth() const; + void RibWidth(boost::optional< double > v); + boost::optional< double > RibSpacing() const; + void RibSpacing(boost::optional< double > v); IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum Direction() const; - void setDirection(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v); + void Direction(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_ENUMERATION; } return IfcProfileProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcRibPlateDirectionEnum; } return IfcProfileProperties::getArgumentEntity(i); } @@ -10777,7 +10421,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRibPlateProfileProperties (IfcAbstractEntity* e); - IfcRibPlateProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction); + IfcRibPlateProfileProperties (boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction); typedef IfcTemplatedEntityList< IfcRibPlateProfileProperties > list; }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. @@ -10793,24 +10437,20 @@ class IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; - void setGlobalId(std::string v); + void GlobalId(std::string v); /// Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, /// /// NOTE only the last modification in stored - either as addition, deletion or modification. /// /// IFC2x4 CHANGE  The attribute has been changed to be OPTIONAL. IfcOwnerHistory* OwnerHistory() const; - void setOwnerHistory(IfcOwnerHistory* v); - /// Whether the optional attribute Name is defined for this IfcRoot - bool hasName() const; + void OwnerHistory(IfcOwnerHistory* v); /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcRoot - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Optional description, provided for exchanging informative comments. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGloballyUniqueId; case 1: return Type::IfcOwnerHistory; case 2: return Type::IfcLabel; case 3: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -10832,16 +10472,14 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IfcSIUnit : public IfcNamedUnit { public: - /// Whether the optional attribute Prefix is defined for this IfcSIUnit - bool hasPrefix() const; /// The SI Prefix for defining decimal multiples and submultiples of the unit. - IfcSIPrefix::IfcSIPrefix Prefix() const; - void setPrefix(IfcSIPrefix::IfcSIPrefix v); + boost::optional< IfcSIPrefix::IfcSIPrefix > Prefix() const; + void Prefix(boost::optional< IfcSIPrefix::IfcSIPrefix > v); /// The word, or group of words, by which the SI unit is referred to. /// /// NOTE  Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. IfcSIUnitName::IfcSIUnitName Name() const; - void setName(IfcSIUnitName::IfcSIUnitName v); + void Name(IfcSIUnitName::IfcSIUnitName v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; } return IfcNamedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcSIPrefix; case 3: return Type::IfcSIUnitName; } return IfcNamedUnit::getArgumentEntity(i); } @@ -10863,15 +10501,13 @@ class IfcSectionProperties : public IfcUtil::IfcBaseEntity { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. IfcSectionTypeEnum::IfcSectionTypeEnum SectionType() const; - void setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v); + void SectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v); /// The cross section profile at the start point of the longitudinal section. IfcProfileDef* StartProfile() const; - void setStartProfile(IfcProfileDef* v); - /// Whether the optional attribute EndProfile is defined for this IfcSectionProperties - bool hasEndProfile() const; + void StartProfile(IfcProfileDef* v); /// The cross section profile at the end point of the longitudinal section. - IfcProfileDef* EndProfile() const; - void setEndProfile(IfcProfileDef* v); + boost::optional< IfcProfileDef* > EndProfile() const; + void EndProfile(boost::optional< IfcProfileDef* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSectionTypeEnum; case 1: return Type::IfcProfileDef; case 2: return Type::IfcProfileDef; } throw IfcParse::IfcException("argument out of range"); } @@ -10881,7 +10517,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSectionProperties (IfcAbstractEntity* e); - IfcSectionProperties (IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile); + IfcSectionProperties (IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, boost::optional< IfcProfileDef* > v3_EndProfile); typedef IfcTemplatedEntityList< IfcSectionProperties > list; }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. @@ -10895,24 +10531,22 @@ class IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; - void setLongitudinalStartPosition(double v); + void LongitudinalStartPosition(double v); /// The end position in longitudinal direction for the section reinforcement properties. double LongitudinalEndPosition() const; - void setLongitudinalEndPosition(double v); - /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties - bool hasTransversePosition() const; + void LongitudinalEndPosition(double v); /// The position for the section reinforcement properties in transverse direction. - double TransversePosition() const; - void setTransversePosition(double v); + boost::optional< double > TransversePosition() const; + void TransversePosition(boost::optional< double > v); /// The role, purpose or usage of the reinforcement, i.e. the kind of loads and stresses it is intended to carry, defined for the section reinforcement properties. IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum ReinforcementRole() const; - void setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); + void ReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); /// Definition of the cross section profile and longitudinal section type. IfcSectionProperties* SectionDefinition() const; - void setSectionDefinition(IfcSectionProperties* v); + void SectionDefinition(IfcSectionProperties* v); /// The set of reinforcment properties attached to a section reinforcement properties definition. IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr CrossSectionReinforcementDefinitions() const; - void setCrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v); + void CrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcReinforcingBarRoleEnum; case 4: return Type::IfcSectionProperties; case 5: return Type::IfcReinforcementBarProperties; } throw IfcParse::IfcException("argument out of range"); } @@ -10967,26 +10601,22 @@ public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility IfcTemplatedEntityList< IfcShapeModel >::ptr ShapeRepresentations() const; - void setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); - /// Whether the optional attribute Name is defined for this IfcShapeAspect - bool hasName() const; + void ShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); /// The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag "Glazing" to define which component of a window shape defines the glazing area. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcShapeAspect - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// An indication that the shape aspect is on the physical boundary of the product definition shape. If the value of this attribute is TRUE, it shall be asserted that the shape aspect being identified is on such a boundary. If the value is FALSE, it shall be asserted that the shape aspect being identified is not on such a boundary. If the value is UNKNOWN, it shall be asserted that it is not known whether or not the shape aspect being identified is on such a boundary. /// --- /// EXAMPLE: Would be FALSE for a center line, identified as shape aspect; would be TRUE for a cantilever. /// --- bool ProductDefinitional() const; - void setProductDefinitional(bool v); + void ProductDefinitional(bool v); /// Reference to the product definition shape of which this class is an aspect. IfcProductDefinitionShape* PartOfProductDefinitionShape() const; - void setPartOfProductDefinitionShape(IfcProductDefinitionShape* v); + void PartOfProductDefinitionShape(IfcProductDefinitionShape* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShapeModel; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::UNDEFINED; case 4: return Type::IfcProductDefinitionShape; } throw IfcParse::IfcException("argument out of range"); } @@ -11203,11 +10833,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition - bool hasName() const; /// Optionally defines a name for this connection condition. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -11225,11 +10853,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcStructuralLoad - bool hasName() const; /// Optionally defines a name for this load. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -11266,18 +10892,12 @@ public: /// Figure 332 — Structural load temperature class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute DeltaT_Constant is defined for this IfcStructuralLoadTemperature - bool hasDeltaT_Constant() const; - double DeltaT_Constant() const; - void setDeltaT_Constant(double v); - /// Whether the optional attribute DeltaT_Y is defined for this IfcStructuralLoadTemperature - bool hasDeltaT_Y() const; - double DeltaT_Y() const; - void setDeltaT_Y(double v); - /// Whether the optional attribute DeltaT_Z is defined for this IfcStructuralLoadTemperature - bool hasDeltaT_Z() const; - double DeltaT_Z() const; - void setDeltaT_Z(double v); + boost::optional< double > DeltaT_Constant() const; + void DeltaT_Constant(boost::optional< double > v); + boost::optional< double > DeltaT_Y() const; + void DeltaT_Y(boost::optional< double > v); + boost::optional< double > DeltaT_Z() const; + void DeltaT_Z(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcThermodynamicTemperatureMeasure; case 2: return Type::IfcThermodynamicTemperatureMeasure; case 3: return Type::IfcThermodynamicTemperatureMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -11339,13 +10959,11 @@ public: /// Figure 293 — Styled item class IfcStyledItem : public IfcRepresentationItem { public: - /// Whether the optional attribute Item is defined for this IfcStyledItem - bool hasItem() const; /// A geometric representation item to which the style is assigned. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute Item has been made optional. Upward compatibility for file based exchange is guaranteed. - IfcRepresentationItem* Item() const; - void setItem(IfcRepresentationItem* v); + boost::optional< IfcRepresentationItem* > Item() const; + void Item(boost::optional< IfcRepresentationItem* > v); /// Representation styles which are assigned, either to an geometric representation item, or to a material definition. /// /// IFC2x4 CHANGE The data type has been changed to IfcStyleAssignmentSelect with upward compatibility @@ -11353,12 +10971,10 @@ public: /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v); - /// Whether the optional attribute Name is defined for this IfcStyledItem - bool hasName() const; + void Styles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v); /// The word, or group of words, by which the styled item is referred to. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } return IfcRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRepresentationItem; case 1: return Type::IfcPresentationStyleAssignment; case 2: return Type::IfcLabel; } return IfcRepresentationItem::getArgumentEntity(i); } @@ -11368,7 +10984,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyledItem (IfcAbstractEntity* e); - IfcStyledItem (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcStyledItem > list; }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. @@ -11403,10 +11019,10 @@ class IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. IfcSurfaceSide::IfcSurfaceSide Side() const; - void setSide(IfcSurfaceSide::IfcSurfaceSide v); + void Side(IfcSurfaceSide::IfcSurfaceSide v); /// A collection of different surface styles. IfcEntityList::ptr Styles() const; - void setStyles(IfcEntityList::ptr v); + void Styles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurfaceSide; case 2: return Type::IfcSurfaceStyleElementSelect; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -11435,19 +11051,19 @@ public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* DiffuseTransmissionColour() const; - void setDiffuseTransmissionColour(IfcColourRgb* v); + void DiffuseTransmissionColour(IfcColourRgb* v); /// The degree of diffusion of the reflected light. In the case of specular surfaces there is no diffusion. The greater the diffusing power of the reflecting surface, the smaller the specular component of the reflected light, up to the point where only diffuse light is produced. A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* DiffuseReflectionColour() const; - void setDiffuseReflectionColour(IfcColourRgb* v); + void DiffuseReflectionColour(IfcColourRgb* v); /// Describes how the light falling on a body is totally or partially transmitted. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* TransmissionColour() const; - void setTransmissionColour(IfcColourRgb* v); + void TransmissionColour(IfcColourRgb* v); /// A coefficient that determines the extent that the light falling onto a surface is fully or partially reflected. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* ReflectanceColour() const; - void setReflectanceColour(IfcColourRgb* v); + void ReflectanceColour(IfcColourRgb* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcColourRgb; case 1: return Type::IfcColourRgb; case 2: return Type::IfcColourRgb; case 3: return Type::IfcColourRgb; } throw IfcParse::IfcException("argument out of range"); } @@ -11467,16 +11083,12 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcSurfaceStyleRefraction : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction - bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - double RefractionIndex() const; - void setRefractionIndex(double v); - /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction - bool hasDispersionFactor() const; + boost::optional< double > RefractionIndex() const; + void RefractionIndex(boost::optional< double > v); /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - double DispersionFactor() const; - void setDispersionFactor(double v); + boost::optional< double > DispersionFactor() const; + void DispersionFactor(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcReal; case 1: return Type::IfcReal; } throw IfcParse::IfcException("argument out of range"); } @@ -11500,7 +11112,7 @@ class IfcSurfaceStyleShading : public IfcUtil::IfcBaseEntity { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. IfcColourRgb* SurfaceColour() const; - void setSurfaceColour(IfcColourRgb* v); + void SurfaceColour(IfcColourRgb* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcColourRgb; } throw IfcParse::IfcException("argument out of range"); } @@ -11535,7 +11147,7 @@ class IfcSurfaceStyleWithTextures : public IfcUtil::IfcBaseEntity { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Textures() const; - void setTextures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); + void Textures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurfaceTexture; } throw IfcParse::IfcException("argument out of range"); } @@ -11644,19 +11256,17 @@ class IfcSurfaceTexture : public IfcUtil::IfcBaseEntity { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; - void setRepeatS(bool v); + void RepeatS(bool v); /// The RepeatT field specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If RepeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range. bool RepeatT() const; - void setRepeatT(bool v); + void RepeatT(bool v); IfcSurfaceTextureEnum::IfcSurfaceTextureEnum TextureType() const; - void setTextureType(IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v); - /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture - bool hasTextureTransform() const; + void TextureType(IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v); /// The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. /// /// Mirroring is not allowed to be used in the IfcCarteesianTransformationOperator - IfcCartesianTransformationOperator2D* TextureTransform() const; - void setTextureTransform(IfcCartesianTransformationOperator2D* v); + boost::optional< IfcCartesianTransformationOperator2D* > TextureTransform() const; + void TextureTransform(boost::optional< IfcCartesianTransformationOperator2D* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_BOOL; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcSurfaceTextureEnum; case 3: return Type::IfcCartesianTransformationOperator2D; } throw IfcParse::IfcException("argument out of range"); } @@ -11666,7 +11276,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceTexture (IfcAbstractEntity* e); - IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform); + IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform); typedef IfcTemplatedEntityList< IfcSurfaceTexture > list; }; /// Definition from ISO/CD 10303-46:1992: The symbol style is the presentation style that indicates the presentation of annotation symbols. @@ -11678,7 +11288,7 @@ class IfcSymbolStyle : public IfcPresentationStyle { public: /// The style applied to the symbol for its visual appearance. IfcSymbolStyleSelect* StyleOfSymbol() const; - void setStyleOfSymbol(IfcSymbolStyleSelect* v); + void StyleOfSymbol(IfcSymbolStyleSelect* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSymbolStyleSelect; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -11710,10 +11320,10 @@ class IfcTable : public IfcUtil::IfcBaseEntity { public: /// A unique name which is intended to describe the usage of the Table. std::string Name() const; - void setName(std::string v); + void Name(std::string v); /// Reference to information content of rows. IfcTemplatedEntityList< IfcTableRow >::ptr Rows() const; - void setRows(IfcTemplatedEntityList< IfcTableRow >::ptr v); + void Rows(IfcTemplatedEntityList< IfcTableRow >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::IfcTableRow; } throw IfcParse::IfcException("argument out of range"); } @@ -11743,10 +11353,10 @@ class IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. IfcEntityList::ptr RowCells() const; - void setRowCells(IfcEntityList::ptr v); + void RowCells(IfcEntityList::ptr v); /// Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE. bool IsHeading() const; - void setIsHeading(bool v); + void IsHeading(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::UNDEFINED; } throw IfcParse::IfcException("argument out of range"); } @@ -11768,34 +11378,24 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IfcTelecomAddress : public IfcAddress { public: - /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress - bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< std::string > /*[1:?]*/ TelephoneNumbers() const; - void setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress - bool hasFacsimileNumbers() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; + void TelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The list of fax numbers at which fax messages may be received. - std::vector< std::string > /*[1:?]*/ FacsimileNumbers() const; - void setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress - bool hasPagerNumber() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > FacsimileNumbers() const; + void FacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The pager number at which paging messages may be received. - std::string PagerNumber() const; - void setPagerNumber(std::string v); - /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress - bool hasElectronicMailAddresses() const; + boost::optional< std::string > PagerNumber() const; + void PagerNumber(boost::optional< std::string > v); /// The list of Email addresses at which Email messages may be received. - std::vector< std::string > /*[1:?]*/ ElectronicMailAddresses() const; - void setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress - bool hasWWWHomePageURL() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > ElectronicMailAddresses() const; + void ElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - std::string WWWHomePageURL() const; - void setWWWHomePageURL(std::string v); + boost::optional< std::string > WWWHomePageURL() const; + void WWWHomePageURL(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; case 7: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcLabel; } return IfcAddress::getArgumentEntity(i); } @@ -11838,25 +11438,21 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IfcTextStyle : public IfcPresentationStyle { public: - /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle - bool hasTextCharacterAppearance() const; /// A character style to be used for presented text. - IfcCharacterStyleSelect* TextCharacterAppearance() const; - void setTextCharacterAppearance(IfcCharacterStyleSelect* v); - /// Whether the optional attribute TextStyle is defined for this IfcTextStyle - bool hasTextStyle() const; + boost::optional< IfcCharacterStyleSelect* > TextCharacterAppearance() const; + void TextCharacterAppearance(boost::optional< IfcCharacterStyleSelect* > v); /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// /// IFC2x Edition 3 CHANGE  The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. - IfcTextStyleSelect* TextStyle() const; - void setTextStyle(IfcTextStyleSelect* v); + boost::optional< IfcTextStyleSelect* > TextStyle() const; + void TextStyle(boost::optional< IfcTextStyleSelect* > v); /// The style applied to the text font for its visual appearance. /// It defines the font family, font style, weight and size. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute TextFontStyle is a new attribute attached to IfcTextStyle. IfcTextFontSelect* TextFontStyle() const; - void setTextFontStyle(IfcTextFontSelect* v); + void TextFontStyle(IfcTextFontSelect* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCharacterStyleSelect; case 2: return Type::IfcTextStyleSelect; case 3: return Type::IfcTextFontSelect; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -11866,7 +11462,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyle (IfcAbstractEntity* e); - IfcTextStyle (boost::optional< std::string > v1_Name, IfcCharacterStyleSelect* v2_TextCharacterAppearance, IfcTextStyleSelect* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle); + IfcTextStyle (boost::optional< std::string > v1_Name, boost::optional< IfcCharacterStyleSelect* > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect* > v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle); typedef IfcTemplatedEntityList< IfcTextStyle > list; }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. @@ -11936,32 +11532,24 @@ public: /// HISTORY  New entity in IFC2x3. class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: - /// Whether the optional attribute FontFamily is defined for this IfcTextStyleFontModel - bool hasFontFamily() const; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. - std::vector< std::string > /*[1:?]*/ FontFamily() const; - void setFontFamily(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel - bool hasFontStyle() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > FontFamily() const; + void FontFamily(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - std::string FontStyle() const; - void setFontStyle(std::string v); - /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel - bool hasFontVariant() const; + boost::optional< std::string > FontStyle() const; + void FontStyle(boost::optional< std::string > v); /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - std::string FontVariant() const; - void setFontVariant(std::string v); - /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel - bool hasFontWeight() const; + boost::optional< std::string > FontVariant() const; + void FontVariant(boost::optional< std::string > v); /// The font weight property selects the weight of the font. /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. - std::string FontWeight() const; - void setFontWeight(std::string v); + boost::optional< std::string > FontWeight() const; + void FontWeight(boost::optional< std::string > v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, BackgroundColour() const; + void BackgroundColour(boost::optional< IfcColour* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcColour; case 1: return Type::IfcColour; } throw IfcParse::IfcException("argument out of range"); } @@ -12010,7 +11596,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleForDefinedFont (IfcAbstractEntity* e); - IfcTextStyleForDefinedFont (IfcColour* v1_Colour, IfcColour* v2_BackgroundColour); + IfcTextStyleForDefinedFont (IfcColour* v1_Colour, boost::optional< IfcColour* > v2_BackgroundColour); typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont > list; }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. @@ -12022,48 +11608,34 @@ public: /// HISTORY  New entity in IFC2x3. class IfcTextStyleTextModel : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel - bool hasTextIndent() const; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect* TextIndent() const; - void setTextIndent(IfcSizeSelect* v); - /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel - bool hasTextAlign() const; + boost::optional< IfcSizeSelect* > TextIndent() const; + void TextIndent(boost::optional< IfcSizeSelect* > v); /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - std::string TextAlign() const; - void setTextAlign(std::string v); - /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel - bool hasTextDecoration() const; + boost::optional< std::string > TextAlign() const; + void TextAlign(boost::optional< std::string > v); /// This property describes decorations that are added to the text of an element. - std::string TextDecoration() const; - void setTextDecoration(std::string v); - /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel - bool hasLetterSpacing() const; + boost::optional< std::string > TextDecoration() const; + void TextDecoration(boost::optional< std::string > v); /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. - IfcSizeSelect* LetterSpacing() const; - void setLetterSpacing(IfcSizeSelect* v); - /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel - bool hasWordSpacing() const; + boost::optional< IfcSizeSelect* > LetterSpacing() const; + void LetterSpacing(boost::optional< IfcSizeSelect* > v); /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect* WordSpacing() const; - void setWordSpacing(IfcSizeSelect* v); - /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel - bool hasTextTransform() const; + boost::optional< IfcSizeSelect* > WordSpacing() const; + void WordSpacing(boost::optional< IfcSizeSelect* > v); /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. /// NOTE  It has been introduced for later compliance to full CSS1 support. - std::string TextTransform() const; - void setTextTransform(std::string v); - /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel - bool hasLineHeight() const; + boost::optional< std::string > TextTransform() const; + void TextTransform(boost::optional< std::string > v); /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. - IfcSizeSelect* LineHeight() const; - void setLineHeight(IfcSizeSelect* v); + boost::optional< IfcSizeSelect* > LineHeight() const; + void LineHeight(boost::optional< IfcSizeSelect* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSizeSelect; case 1: return Type::IfcTextAlignment; case 2: return Type::IfcTextDecoration; case 3: return Type::IfcSizeSelect; case 4: return Type::IfcSizeSelect; case 5: return Type::IfcTextTransformation; case 6: return Type::IfcSizeSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -12073,7 +11645,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleTextModel (IfcAbstractEntity* e); - IfcTextStyleTextModel (IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight); + IfcTextStyleTextModel (boost::optional< IfcSizeSelect* > v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, boost::optional< IfcSizeSelect* > v4_LetterSpacing, boost::optional< IfcSizeSelect* > v5_WordSpacing, boost::optional< std::string > v6_TextTransform, boost::optional< IfcSizeSelect* > v7_LineHeight); typedef IfcTemplatedEntityList< IfcTextStyleTextModel > list; }; /// The text style with box characteristics allows the presentation of annotated text by specifying the characteristics of the character boxes of the text and the spacing between the character boxes. @@ -12095,31 +11667,21 @@ public: /// IFC2x3 CHANGE  The attribute item CharacterSpacing has been added. class IfcTextStyleWithBoxCharacteristics : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute BoxHeight is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxHeight() const; /// It is the height scaling factor in the definition of a character glyph. - double BoxHeight() const; - void setBoxHeight(double v); - /// Whether the optional attribute BoxWidth is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxWidth() const; + boost::optional< double > BoxHeight() const; + void BoxHeight(boost::optional< double > v); /// It is the width scaling factor in the definition of a character glyph. - double BoxWidth() const; - void setBoxWidth(double v); - /// Whether the optional attribute BoxSlantAngle is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxSlantAngle() const; + boost::optional< double > BoxWidth() const; + void BoxWidth(boost::optional< double > v); /// It indicated that the box of a character glyph shall be represented as a parallelogram, with the angle being between the character up line and an axis perpendicular to the character base line. - double BoxSlantAngle() const; - void setBoxSlantAngle(double v); - /// Whether the optional attribute BoxRotateAngle is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxRotateAngle() const; + boost::optional< double > BoxSlantAngle() const; + void BoxSlantAngle(boost::optional< double > v); /// It indicated that the box of a character glyph shall be presented at an angle to the base line of a text string within which the glyph occurs, the angle being that between the base line of the glyph and an axis perpendicular to the baseline of the text string. - double BoxRotateAngle() const; - void setBoxRotateAngle(double v); - /// Whether the optional attribute CharacterSpacing is defined for this IfcTextStyleWithBoxCharacteristics - bool hasCharacterSpacing() const; + boost::optional< double > BoxRotateAngle() const; + void BoxRotateAngle(boost::optional< double > v); /// The distance between the character boxes of adjacent characters. - IfcSizeSelect* CharacterSpacing() const; - void setCharacterSpacing(IfcSizeSelect* v); + boost::optional< IfcSizeSelect* > CharacterSpacing() const; + void CharacterSpacing(boost::optional< IfcSizeSelect* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPositiveLengthMeasure; case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPlaneAngleMeasure; case 3: return Type::IfcPlaneAngleMeasure; case 4: return Type::IfcSizeSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -12129,7 +11691,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleWithBoxCharacteristics (IfcAbstractEntity* e); - IfcTextStyleWithBoxCharacteristics (boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, IfcSizeSelect* v5_CharacterSpacing); + IfcTextStyleWithBoxCharacteristics (boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, boost::optional< IfcSizeSelect* > v5_CharacterSpacing); typedef IfcTemplatedEntityList< IfcTextStyleWithBoxCharacteristics > list; }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. @@ -12190,12 +11752,12 @@ public: /// /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. std::string Mode() const; - void setMode(std::string v); + void Mode(std::string v); /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. IfcEntityList::ptr Parameter() const; - void setParameter(IfcEntityList::ptr v); + void Parameter(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcTextureCoordinate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcSimpleValue; } return IfcTextureCoordinate::getArgumentEntity(i); } @@ -12262,7 +11824,7 @@ public: class IfcTextureMap : public IfcTextureCoordinate { public: IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr TextureMaps() const; - void setTextureMaps(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v); + void TextureMaps(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTextureCoordinate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVertexBasedTextureMap; } return IfcTextureCoordinate::getArgumentEntity(i); } @@ -12306,7 +11868,7 @@ class IfcTextureVertex : public IfcUtil::IfcBaseEntity { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; - void setCoordinates(std::vector< double > /*[2:2]*/ v); + void Coordinates(std::vector< double > /*[2:2]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcParameterValue; } throw IfcParse::IfcException("argument out of range"); } @@ -12322,22 +11884,14 @@ public: class IfcThermalMaterialProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcThermalMaterialProperties - bool hasSpecificHeatCapacity() const; - double SpecificHeatCapacity() const; - void setSpecificHeatCapacity(double v); - /// Whether the optional attribute BoilingPoint is defined for this IfcThermalMaterialProperties - bool hasBoilingPoint() const; - double BoilingPoint() const; - void setBoilingPoint(double v); - /// Whether the optional attribute FreezingPoint is defined for this IfcThermalMaterialProperties - bool hasFreezingPoint() const; - double FreezingPoint() const; - void setFreezingPoint(double v); - /// Whether the optional attribute ThermalConductivity is defined for this IfcThermalMaterialProperties - bool hasThermalConductivity() const; - double ThermalConductivity() const; - void setThermalConductivity(double v); + boost::optional< double > SpecificHeatCapacity() const; + void SpecificHeatCapacity(boost::optional< double > v); + boost::optional< double > BoilingPoint() const; + void BoilingPoint(boost::optional< double > v); + boost::optional< double > FreezingPoint() const; + void FreezingPoint(boost::optional< double > v); + boost::optional< double > ThermalConductivity() const; + void ThermalConductivity(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSpecificHeatCapacityMeasure; case 2: return Type::IfcThermodynamicTemperatureMeasure; case 3: return Type::IfcThermodynamicTemperatureMeasure; case 4: return Type::IfcThermalConductivityMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -12359,34 +11913,28 @@ class IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcTimeSeries - bool hasDescription() const; + void Name(std::string v); /// A text description of the data that the series represents. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The start time of a time series. IfcDateTimeSelect* StartTime() const; - void setStartTime(IfcDateTimeSelect* v); + void StartTime(IfcDateTimeSelect* v); /// The end time of a time series. IfcDateTimeSelect* EndTime() const; - void setEndTime(IfcDateTimeSelect* v); + void EndTime(IfcDateTimeSelect* v); /// The time series data type. IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType() const; - void setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); + void TimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); /// The orgin of a time series data. IfcDataOriginEnum::IfcDataOriginEnum DataOrigin() const; - void setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); - /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries - bool hasUserDefinedDataOrigin() const; + void DataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); /// Value of the data origin if DataOrigin attribute is USERDEFINED. - std::string UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(std::string v); - /// Whether the optional attribute Unit is defined for this IfcTimeSeries - bool hasUnit() const; + boost::optional< std::string > UserDefinedDataOrigin() const; + void UserDefinedDataOrigin(boost::optional< std::string > v); /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcDateTimeSelect; case 3: return Type::IfcDateTimeSelect; case 4: return Type::IfcTimeSeriesDataTypeEnum; case 5: return Type::IfcDataOriginEnum; case 6: return Type::IfcLabel; case 7: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -12397,16 +11945,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTimeSeries (IfcAbstractEntity* e); - IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit); + IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit); typedef IfcTemplatedEntityList< IfcTimeSeries > list; }; class IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { public: IfcTimeSeries* ReferencedTimeSeries() const; - void setReferencedTimeSeries(IfcTimeSeries* v); + void ReferencedTimeSeries(IfcTimeSeries* v); IfcEntityList::ptr TimeSeriesReferences() const; - void setTimeSeriesReferences(IfcEntityList::ptr v); + void TimeSeriesReferences(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTimeSeries; case 1: return Type::IfcDocumentSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -12432,7 +11980,7 @@ class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); + void ListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; } throw IfcParse::IfcException("argument out of range"); } @@ -12521,7 +12069,7 @@ class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. IfcEntityList::ptr Units() const; - void setUnits(IfcEntityList::ptr v); + void Units(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -12562,9 +12110,9 @@ public: class IfcVertexBasedTextureMap : public IfcUtil::IfcBaseEntity { public: IfcTemplatedEntityList< IfcTextureVertex >::ptr TextureVertices() const; - void setTextureVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); + void TextureVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); IfcTemplatedEntityList< IfcCartesianPoint >::ptr TexturePoints() const; - void setTexturePoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void TexturePoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTextureVertex; case 1: return Type::IfcCartesianPoint; } throw IfcParse::IfcException("argument out of range"); } @@ -12590,7 +12138,7 @@ class IfcVertexPoint : public IfcVertex { public: /// The geometric point, which defines the position in geometric space of the vertex. IfcPoint* VertexGeometry() const; - void setVertexGeometry(IfcPoint* v); + void VertexGeometry(IfcPoint* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcVertex::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPoint; } return IfcVertex::getArgumentEntity(i); } @@ -12666,10 +12214,10 @@ class IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; - void setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); + void IntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection. std::vector< double > /*[2:3]*/ OffsetDistances() const; - void setOffsetDistances(std::vector< double > /*[2:3]*/ v); + void OffsetDistances(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGridAxis; case 1: return Type::IfcLengthMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -12685,34 +12233,20 @@ public: class IfcWaterProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute IsPotable is defined for this IfcWaterProperties - bool hasIsPotable() const; - bool IsPotable() const; - void setIsPotable(bool v); - /// Whether the optional attribute Hardness is defined for this IfcWaterProperties - bool hasHardness() const; - double Hardness() const; - void setHardness(double v); - /// Whether the optional attribute AlkalinityConcentration is defined for this IfcWaterProperties - bool hasAlkalinityConcentration() const; - double AlkalinityConcentration() const; - void setAlkalinityConcentration(double v); - /// Whether the optional attribute AcidityConcentration is defined for this IfcWaterProperties - bool hasAcidityConcentration() const; - double AcidityConcentration() const; - void setAcidityConcentration(double v); - /// Whether the optional attribute ImpuritiesContent is defined for this IfcWaterProperties - bool hasImpuritiesContent() const; - double ImpuritiesContent() const; - void setImpuritiesContent(double v); - /// Whether the optional attribute PHLevel is defined for this IfcWaterProperties - bool hasPHLevel() const; - double PHLevel() const; - void setPHLevel(double v); - /// Whether the optional attribute DissolvedSolidsContent is defined for this IfcWaterProperties - bool hasDissolvedSolidsContent() const; - double DissolvedSolidsContent() const; - void setDissolvedSolidsContent(double v); + boost::optional< bool > IsPotable() const; + void IsPotable(boost::optional< bool > v); + boost::optional< double > Hardness() const; + void Hardness(boost::optional< double > v); + boost::optional< double > AlkalinityConcentration() const; + void AlkalinityConcentration(boost::optional< double > v); + boost::optional< double > AcidityConcentration() const; + void AcidityConcentration(boost::optional< double > v); + boost::optional< double > ImpuritiesContent() const; + void ImpuritiesContent(boost::optional< double > v); + boost::optional< double > PHLevel() const; + void PHLevel(boost::optional< double > v); + boost::optional< double > DissolvedSolidsContent() const; + void DissolvedSolidsContent(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::UNDEFINED; case 2: return Type::IfcIonConcentrationMeasure; case 3: return Type::IfcIonConcentrationMeasure; case 4: return Type::IfcIonConcentrationMeasure; case 5: return Type::IfcNormalisedRatioMeasure; case 6: return Type::IfcPHMeasure; case 7: return Type::IfcNormalisedRatioMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -12737,7 +12271,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationOccurrence (IfcAbstractEntity* e); - IfcAnnotationOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcAnnotationOccurrence (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationOccurrence > list; }; @@ -12752,7 +12286,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationSurfaceOccurrence (IfcAbstractEntity* e); - IfcAnnotationSurfaceOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcAnnotationSurfaceOccurrence (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence > list; }; @@ -12767,7 +12301,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationSymbolOccurrence (IfcAbstractEntity* e); - IfcAnnotationSymbolOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcAnnotationSymbolOccurrence (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence > list; }; @@ -12782,7 +12316,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationTextOccurrence (IfcAbstractEntity* e); - IfcAnnotationTextOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcAnnotationTextOccurrence (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationTextOccurrence > list; }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. @@ -12807,7 +12341,7 @@ class IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. IfcCurve* OuterCurve() const; - void setOuterCurve(IfcCurve* v); + void OuterCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; } return IfcProfileDef::getArgumentEntity(i); } @@ -12839,7 +12373,7 @@ class IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. IfcBoundedCurve* Curve() const; - void setCurve(IfcBoundedCurve* v); + void Curve(IfcBoundedCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcBoundedCurve; } return IfcProfileDef::getArgumentEntity(i); } @@ -12875,7 +12409,7 @@ class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. IfcTemplatedEntityList< IfcCurve >::ptr InnerCurves() const; - void setInnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v); + void InnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcArbitraryClosedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcCurve; } return IfcArbitraryClosedProfileDef::getArgumentEntity(i); } @@ -12901,10 +12435,10 @@ class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; - void setRasterFormat(std::string v); + void RasterFormat(std::string v); /// Blob, given as a single binary, to capture the texture within one popular file (compression) format. The file format is provided by the RasterFormat attribute. bool RasterCode() const; - void setRasterCode(bool v); + void RasterCode(bool v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_BOOL; } return IfcSurfaceTexture::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcIdentifier; case 5: return Type::UNDEFINED; } return IfcSurfaceTexture::getArgumentEntity(i); } @@ -12914,7 +12448,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBlobTexture (IfcAbstractEntity* e); - IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode); + IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode); typedef IfcTemplatedEntityList< IfcBlobTexture > list; }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. @@ -12950,7 +12484,7 @@ class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; - void setThickness(double v); + void Thickness(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcArbitraryOpenProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; } return IfcArbitraryOpenProfileDef::getArgumentEntity(i); } @@ -12986,11 +12520,9 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IfcClassificationReference : public IfcExternalReference { public: - /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference - bool hasReferencedSource() const; /// The classification system or source that is referenced. - IfcClassification* ReferencedSource() const; - void setReferencedSource(IfcClassification* v); + boost::optional< IfcClassification* > ReferencedSource() const; + void ReferencedSource(boost::optional< IfcClassification* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; } return IfcExternalReference::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcClassification; } return IfcExternalReference::getArgumentEntity(i); } @@ -13000,7 +12532,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationReference (IfcAbstractEntity* e); - IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, IfcClassification* v4_ReferencedSource); + IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, boost::optional< IfcClassification* > v4_ReferencedSource); typedef IfcTemplatedEntityList< IfcClassificationReference > list; }; /// Definition from ISO/CD 10303-46:1992: A colour rgb as a subtype of colour specifications is defined by three colour component values for red, green, and blue in the RGB colour model. @@ -13017,17 +12549,17 @@ public: /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Red() const; - void setRed(double v); + void Red(double v); /// The intensity of the green colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Green() const; - void setGreen(double v); + void Green(double v); /// The intensity of the blue colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Blue() const; - void setBlue(double v); + void Blue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcNormalisedRatioMeasure; case 2: return Type::IfcNormalisedRatioMeasure; case 3: return Type::IfcNormalisedRatioMeasure; } return IfcColourSpecification::getArgumentEntity(i); } @@ -13050,10 +12582,10 @@ public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. std::string UsageName() const; - void setUsageName(std::string v); + void UsageName(std::string v); /// Set of properties that can be used within this complex property (may include other complex properties). IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; - void setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcIdentifier; case 3: return Type::IfcProperty; } return IfcProperty::getArgumentEntity(i); } @@ -13106,12 +12638,10 @@ class IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. IfcTemplatedEntityList< IfcProfileDef >::ptr Profiles() const; - void setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v); - /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef - bool hasLabel() const; + void Profiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v); /// The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications. - std::string Label() const; - void setLabel(std::string v); + boost::optional< std::string > Label() const; + void Label(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcProfileDef; case 3: return Type::IfcLabel; } return IfcProfileDef::getArgumentEntity(i); } @@ -13137,7 +12667,7 @@ class IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. IfcTemplatedEntityList< IfcFace >::ptr CfsFaces() const; - void setCfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v); + void CfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcFace; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -13167,12 +12697,10 @@ class IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; - void setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v); - /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry - bool hasCurveOnRelatedElement() const; + void CurveOnRelatingElement(IfcCurveOrEdgeCurve* v); /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcCurveOrEdgeCurve* CurveOnRelatedElement() const; - void setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v); + boost::optional< IfcCurveOrEdgeCurve* > CurveOnRelatedElement() const; + void CurveOnRelatedElement(boost::optional< IfcCurveOrEdgeCurve* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurveOrEdgeCurve; case 1: return Type::IfcCurveOrEdgeCurve; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -13182,7 +12710,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionCurveGeometry (IfcAbstractEntity* e); - IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve* > v2_CurveOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry > list; }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: @@ -13206,21 +12734,15 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInX() const; - void setEccentricityInX(double v); - /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInY() const; + boost::optional< double > EccentricityInX() const; + void EccentricityInX(boost::optional< double > v); /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInY() const; - void setEccentricityInY(double v); - /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInZ() const; + boost::optional< double > EccentricityInY() const; + void EccentricityInY(boost::optional< double > v); /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInZ() const; - void setEccentricityInZ(double v); + boost::optional< double > EccentricityInZ() const; + void EccentricityInZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcConnectionPointGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcLengthMeasure; } return IfcConnectionPointGeometry::getArgumentEntity(i); } @@ -13230,7 +12752,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointEccentricity (IfcAbstractEntity* e); - IfcConnectionPointEccentricity (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity (IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ); typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity > list; }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. @@ -13244,7 +12766,7 @@ class IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; } return IfcNamedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLabel; } return IfcNamedUnit::getArgumentEntity(i); } @@ -13308,10 +12830,10 @@ class IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; - void setName(std::string v); + void Name(std::string v); /// The physical quantity from which the converted unit is derived. IfcMeasureWithUnit* ConversionFactor() const; - void setConversionFactor(IfcMeasureWithUnit* v); + void ConversionFactor(IfcMeasureWithUnit* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcNamedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLabel; case 3: return Type::IfcMeasureWithUnit; } return IfcNamedUnit::getArgumentEntity(i); } @@ -13343,21 +12865,15 @@ public: /// HISTORY  New entity in IFC2x2. class IfcCurveStyle : public IfcPresentationStyle { public: - /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle - bool hasCurveFont() const; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. - IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; - void setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v); - /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle - bool hasCurveWidth() const; + boost::optional< IfcCurveFontOrScaledCurveFontSelect* > CurveFont() const; + void CurveFont(boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v); /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. - IfcSizeSelect* CurveWidth() const; - void setCurveWidth(IfcSizeSelect* v); - /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle - bool hasCurveColour() const; + boost::optional< IfcSizeSelect* > CurveWidth() const; + void CurveWidth(boost::optional< IfcSizeSelect* > v); /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. - IfcColour* CurveColour() const; - void setCurveColour(IfcColour* v); + boost::optional< IfcColour* > CurveColour() const; + void CurveColour(boost::optional< IfcColour* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCurveFontOrScaledCurveFontSelect; case 2: return Type::IfcSizeSelect; case 3: return Type::IfcColour; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -13367,7 +12883,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyle (IfcAbstractEntity* e); - IfcCurveStyle (boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour); + IfcCurveStyle (boost::optional< std::string > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v2_CurveFont, boost::optional< IfcSizeSelect* > v3_CurveWidth, boost::optional< IfcColour* > v4_CurveColour); typedef IfcTemplatedEntityList< IfcCurveStyle > list; }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. @@ -13458,15 +12974,13 @@ class IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. IfcProfileDef* ParentProfile() const; - void setParentProfile(IfcProfileDef* v); + void ParentProfile(IfcProfileDef* v); /// Transformation operator applied to the parent profile. IfcCartesianTransformationOperator2D* Operator() const; - void setOperator(IfcCartesianTransformationOperator2D* v); - /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef - bool hasLabel() const; + void Operator(IfcCartesianTransformationOperator2D* v); /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - std::string Label() const; - void setLabel(std::string v); + boost::optional< std::string > Label() const; + void Label(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcProfileDef; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcLabel; } return IfcProfileDef::getArgumentEntity(i); } @@ -13612,10 +13126,10 @@ class IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. IfcVertex* EdgeStart() const; - void setEdgeStart(IfcVertex* v); + void EdgeStart(IfcVertex* v); /// End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd. IfcVertex* EdgeEnd() const; - void setEdgeEnd(IfcVertex* v); + void EdgeEnd(IfcVertex* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVertex; case 1: return Type::IfcVertex; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -13665,10 +13179,10 @@ class IfcEdgeCurve : public IfcEdge { public: /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. IfcCurve* EdgeGeometry() const; - void setEdgeGeometry(IfcCurve* v); + void EdgeGeometry(IfcCurve* v); /// This logical flag indicates whether (TRUE), or not (FALSE) the senses of the edge and the curve defining the edge geometry are the same. The sense of an edge is from the edge start vertex to the edge end vertex; the sense of a curve is in the direction of increasing parameter. bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } @@ -13719,13 +13233,11 @@ public: class IfcExtendedMaterialProperties : public IfcMaterialProperties { public: IfcTemplatedEntityList< IfcProperty >::ptr ExtendedProperties() const; - void setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); - /// Whether the optional attribute Description is defined for this IfcExtendedMaterialProperties - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + void ExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcProperty; case 2: return Type::IfcText; case 3: return Type::IfcLabel; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -13786,7 +13298,7 @@ class IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. IfcTemplatedEntityList< IfcFaceBound >::ptr Bounds() const; - void setBounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v); + void Bounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcFaceBound; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -13808,10 +13320,10 @@ class IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. IfcLoop* Bound() const; - void setBound(IfcLoop* v); + void Bound(IfcLoop* v); /// This indicated whether (TRUE) or not (FALSE) the loop has the same sense when used to bound the face as when first defined. If sense is FALSE the senses of all its component oriented edges are implicitly reversed when used in the face. bool Orientation() const; - void setOrientation(bool v); + void Orientation(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_BOOL; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLoop; case 1: return Type::UNDEFINED; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -13883,10 +13395,10 @@ class IfcFaceSurface : public IfcFace { public: /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. IfcSurface* FaceSurface() const; - void setFaceSurface(IfcSurface* v); + void FaceSurface(IfcSurface* v); /// This flag indicates whether the sense of the surface normal agrees with (TRUE), or opposes (FALSE), the sense of the topological normal to the face. bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } return IfcFace::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurface; case 2: return Type::UNDEFINED; } return IfcFace::getArgumentEntity(i); } @@ -13908,36 +13420,24 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition - bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - double TensionFailureX() const; - void setTensionFailureX(double v); - /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition - bool hasTensionFailureY() const; + boost::optional< double > TensionFailureX() const; + void TensionFailureX(boost::optional< double > v); /// Tension force in y-direction leading to failure of the connection. - double TensionFailureY() const; - void setTensionFailureY(double v); - /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition - bool hasTensionFailureZ() const; + boost::optional< double > TensionFailureY() const; + void TensionFailureY(boost::optional< double > v); /// Tension force in z-direction leading to failure of the connection. - double TensionFailureZ() const; - void setTensionFailureZ(double v); - /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureX() const; + boost::optional< double > TensionFailureZ() const; + void TensionFailureZ(boost::optional< double > v); /// Compression force in x-direction leading to failure of the connection. - double CompressionFailureX() const; - void setCompressionFailureX(double v); - /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureY() const; + boost::optional< double > CompressionFailureX() const; + void CompressionFailureX(boost::optional< double > v); /// Compression force in y-direction leading to failure of the connection. - double CompressionFailureY() const; - void setCompressionFailureY(double v); - /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureZ() const; + boost::optional< double > CompressionFailureY() const; + void CompressionFailureY(boost::optional< double > v); /// Compression force in z-direction leading to failure of the connection. - double CompressionFailureZ() const; - void setCompressionFailureZ(double v); + boost::optional< double > CompressionFailureZ() const; + void CompressionFailureZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcForceMeasure; case 2: return Type::IfcForceMeasure; case 3: return Type::IfcForceMeasure; case 4: return Type::IfcForceMeasure; case 5: return Type::IfcForceMeasure; case 6: return Type::IfcForceMeasure; } return IfcStructuralConnectionCondition::getArgumentEntity(i); } @@ -13988,7 +13488,7 @@ class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. IfcEntityList::ptr FillStyles() const; - void setFillStyles(IfcEntityList::ptr v); + void FillStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcFillStyleSelect; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -14004,22 +13504,14 @@ public: class IfcFuelProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute CombustionTemperature is defined for this IfcFuelProperties - bool hasCombustionTemperature() const; - double CombustionTemperature() const; - void setCombustionTemperature(double v); - /// Whether the optional attribute CarbonContent is defined for this IfcFuelProperties - bool hasCarbonContent() const; - double CarbonContent() const; - void setCarbonContent(double v); - /// Whether the optional attribute LowerHeatingValue is defined for this IfcFuelProperties - bool hasLowerHeatingValue() const; - double LowerHeatingValue() const; - void setLowerHeatingValue(double v); - /// Whether the optional attribute HigherHeatingValue is defined for this IfcFuelProperties - bool hasHigherHeatingValue() const; - double HigherHeatingValue() const; - void setHigherHeatingValue(double v); + boost::optional< double > CombustionTemperature() const; + void CombustionTemperature(boost::optional< double > v); + boost::optional< double > CarbonContent() const; + void CarbonContent(boost::optional< double > v); + boost::optional< double > LowerHeatingValue() const; + void LowerHeatingValue(boost::optional< double > v); + boost::optional< double > HigherHeatingValue() const; + void HigherHeatingValue(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcThermodynamicTemperatureMeasure; case 2: return Type::IfcPositiveRatioMeasure; case 3: return Type::IfcHeatingValueMeasure; case 4: return Type::IfcHeatingValueMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -14035,18 +13527,12 @@ public: class IfcGeneralMaterialProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute MolecularWeight is defined for this IfcGeneralMaterialProperties - bool hasMolecularWeight() const; - double MolecularWeight() const; - void setMolecularWeight(double v); - /// Whether the optional attribute Porosity is defined for this IfcGeneralMaterialProperties - bool hasPorosity() const; - double Porosity() const; - void setPorosity(double v); - /// Whether the optional attribute MassDensity is defined for this IfcGeneralMaterialProperties - bool hasMassDensity() const; - double MassDensity() const; - void setMassDensity(double v); + boost::optional< double > MolecularWeight() const; + void MolecularWeight(boost::optional< double > v); + boost::optional< double > Porosity() const; + void Porosity(boost::optional< double > v); + boost::optional< double > MassDensity() const; + void MassDensity(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcMolecularWeightMeasure; case 2: return Type::IfcNormalisedRatioMeasure; case 3: return Type::IfcMassDensityMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -14062,26 +13548,16 @@ public: class IfcGeneralProfileProperties : public IfcProfileProperties { public: - /// Whether the optional attribute PhysicalWeight is defined for this IfcGeneralProfileProperties - bool hasPhysicalWeight() const; - double PhysicalWeight() const; - void setPhysicalWeight(double v); - /// Whether the optional attribute Perimeter is defined for this IfcGeneralProfileProperties - bool hasPerimeter() const; - double Perimeter() const; - void setPerimeter(double v); - /// Whether the optional attribute MinimumPlateThickness is defined for this IfcGeneralProfileProperties - bool hasMinimumPlateThickness() const; - double MinimumPlateThickness() const; - void setMinimumPlateThickness(double v); - /// Whether the optional attribute MaximumPlateThickness is defined for this IfcGeneralProfileProperties - bool hasMaximumPlateThickness() const; - double MaximumPlateThickness() const; - void setMaximumPlateThickness(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcGeneralProfileProperties - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); + boost::optional< double > PhysicalWeight() const; + void PhysicalWeight(boost::optional< double > v); + boost::optional< double > Perimeter() const; + void Perimeter(boost::optional< double > v); + boost::optional< double > MinimumPlateThickness() const; + void MinimumPlateThickness(boost::optional< double > v); + boost::optional< double > MaximumPlateThickness() const; + void MaximumPlateThickness(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void CrossSectionArea(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcProfileProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcMassPerLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcAreaMeasure; } return IfcProfileProperties::getArgumentEntity(i); } @@ -14091,7 +13567,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeneralProfileProperties (IfcAbstractEntity* e); - IfcGeneralProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea); + IfcGeneralProfileProperties (boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea); typedef IfcTemplatedEntityList< IfcGeneralProfileProperties > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -14145,22 +13621,18 @@ class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; - void setCoordinateSpaceDimension(int v); - /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext - bool hasPrecision() const; + void CoordinateSpaceDimension(int v); /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. - double Precision() const; - void setPrecision(double v); + boost::optional< double > Precision() const; + void Precision(boost::optional< double > v); /// Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project. /// /// Note  it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.). IfcAxis2Placement* WorldCoordinateSystem() const; - void setWorldCoordinateSystem(IfcAxis2Placement* v); - /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext - bool hasTrueNorth() const; + void WorldCoordinateSystem(IfcAxis2Placement* v); /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. - IfcDirection* TrueNorth() const; - void setTrueNorth(IfcDirection* v); + boost::optional< IfcDirection* > TrueNorth() const; + void TrueNorth(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_INT; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRepresentationContext::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDimensionCount; case 3: return Type::UNDEFINED; case 4: return Type::IfcAxis2Placement; case 5: return Type::IfcDirection; } return IfcRepresentationContext::getArgumentEntity(i); } @@ -14171,7 +13643,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationContext (IfcAbstractEntity* e); - IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); + IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, boost::optional< IfcDirection* > v6_TrueNorth); typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext > list; }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: @@ -14224,9 +13696,7 @@ class IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationCo public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. IfcGeometricRepresentationContext* ParentContext() const; - void setParentContext(IfcGeometricRepresentationContext* v); - /// Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext - bool hasTargetScale() const; + void ParentContext(IfcGeometricRepresentationContext* v); /// The target plot scale of the representation /// to which this representation context applies. /// Scale indicates the target plot scale for @@ -14238,16 +13708,14 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - double TargetScale() const; - void setTargetScale(double v); + boost::optional< double > TargetScale() const; + void TargetScale(boost::optional< double > v); /// Target view of the representation to which this representation context applies. IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView() const; - void setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); - /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext - bool hasUserDefinedTargetView() const; + void TargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - std::string UserDefinedTargetView() const; - void setUserDefinedTargetView(std::string v); + boost::optional< std::string > UserDefinedTargetView() const; + void UserDefinedTargetView(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcGeometricRepresentationContext::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcGeometricRepresentationContext; case 7: return Type::IfcPositiveRatioMeasure; case 8: return Type::IfcGeometricProjectionEnum; case 9: return Type::IfcLabel; } return IfcGeometricRepresentationContext::getArgumentEntity(i); } @@ -14271,7 +13739,7 @@ class IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. IfcEntityList::ptr Elements() const; - void setElements(IfcEntityList::ptr v); + void Elements(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGeometricSetSelect; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -14333,14 +13801,12 @@ class IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. IfcVirtualGridIntersection* PlacementLocation() const; - void setPlacementLocation(IfcVirtualGridIntersection* v); - /// Whether the optional attribute PlacementRefDirection is defined for this IfcGridPlacement - bool hasPlacementRefDirection() const; + void PlacementLocation(IfcVirtualGridIntersection* v); /// Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement. /// /// IFC2x4 CHANGE The select of an explict direction has been added. - IfcVirtualGridIntersection* PlacementRefDirection() const; - void setPlacementRefDirection(IfcVirtualGridIntersection* v); + boost::optional< IfcVirtualGridIntersection* > PlacementRefDirection() const; + void PlacementRefDirection(boost::optional< IfcVirtualGridIntersection* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVirtualGridIntersection; case 1: return Type::IfcVirtualGridIntersection; } return IfcObjectPlacement::getArgumentEntity(i); } @@ -14350,7 +13816,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGridPlacement (IfcAbstractEntity* e); - IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, IfcVirtualGridIntersection* v2_PlacementRefDirection); + IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcVirtualGridIntersection* > v2_PlacementRefDirection); typedef IfcTemplatedEntityList< IfcGridPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. @@ -14372,10 +13838,10 @@ class IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: /// Surface defining side of half space. IfcSurface* BaseSurface() const; - void setBaseSurface(IfcSurface* v); + void BaseSurface(IfcSurface* v); /// The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE. bool AgreementFlag() const; - void setAgreementFlag(bool v); + void AgreementFlag(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_BOOL; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -14391,26 +13857,16 @@ public: class IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: - /// Whether the optional attribute UpperVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties - bool hasUpperVaporResistanceFactor() const; - double UpperVaporResistanceFactor() const; - void setUpperVaporResistanceFactor(double v); - /// Whether the optional attribute LowerVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties - bool hasLowerVaporResistanceFactor() const; - double LowerVaporResistanceFactor() const; - void setLowerVaporResistanceFactor(double v); - /// Whether the optional attribute IsothermalMoistureCapacity is defined for this IfcHygroscopicMaterialProperties - bool hasIsothermalMoistureCapacity() const; - double IsothermalMoistureCapacity() const; - void setIsothermalMoistureCapacity(double v); - /// Whether the optional attribute VaporPermeability is defined for this IfcHygroscopicMaterialProperties - bool hasVaporPermeability() const; - double VaporPermeability() const; - void setVaporPermeability(double v); - /// Whether the optional attribute MoistureDiffusivity is defined for this IfcHygroscopicMaterialProperties - bool hasMoistureDiffusivity() const; - double MoistureDiffusivity() const; - void setMoistureDiffusivity(double v); + boost::optional< double > UpperVaporResistanceFactor() const; + void UpperVaporResistanceFactor(boost::optional< double > v); + boost::optional< double > LowerVaporResistanceFactor() const; + void LowerVaporResistanceFactor(boost::optional< double > v); + boost::optional< double > IsothermalMoistureCapacity() const; + void IsothermalMoistureCapacity(boost::optional< double > v); + boost::optional< double > VaporPermeability() const; + void VaporPermeability(boost::optional< double > v); + boost::optional< double > MoistureDiffusivity() const; + void MoistureDiffusivity(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveRatioMeasure; case 2: return Type::IfcPositiveRatioMeasure; case 3: return Type::IfcIsothermalMoistureCapacityMeasure; case 4: return Type::IfcVaporPermeabilityMeasure; case 5: return Type::IfcMoistureDiffusivityMeasure; } return IfcMaterialProperties::getArgumentEntity(i); } @@ -14461,7 +13917,7 @@ public: class IfcImageTexture : public IfcSurfaceTexture { public: std::string UrlReference() const; - void setUrlReference(std::string v); + void UrlReference(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcSurfaceTexture::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcIdentifier; } return IfcSurfaceTexture::getArgumentEntity(i); } @@ -14471,7 +13927,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcImageTexture (IfcAbstractEntity* e); - IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_UrlReference); + IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, std::string v5_UrlReference); typedef IfcTemplatedEntityList< IfcImageTexture > list; }; /// In an irregular time series, unpredictable bursts of data arrive at unspecified points in time, or most time stamps cannot be characterized by a repeating pattern. @@ -14483,7 +13939,7 @@ class IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr Values() const; - void setValues(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v); + void Values(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENTITY_LIST; } return IfcTimeSeries::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcIrregularTimeSeriesValue; } return IfcTimeSeries::getArgumentEntity(i); } @@ -14493,7 +13949,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIrregularTimeSeries (IfcAbstractEntity* e); - IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); + IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); typedef IfcTemplatedEntityList< IfcIrregularTimeSeries > list; }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. @@ -14505,25 +13961,19 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IfcLightSource : public IfcGeometricRepresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcLightSource - bool hasName() const; /// The name given to the light source in presentation. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition from ISO/CD 10303-46:1992: Based on the current lighting model, the colour of the light to be used for shading. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The color field specifies the spectral color properties of both the direct and ambient light emission as an RGB value. IfcColourRgb* LightColour() const; - void setLightColour(IfcColourRgb* v); - /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource - bool hasAmbientIntensity() const; + void LightColour(IfcColourRgb* v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - double AmbientIntensity() const; - void setAmbientIntensity(double v); - /// Whether the optional attribute Intensity is defined for this IfcLightSource - bool hasIntensity() const; + boost::optional< double > AmbientIntensity() const; + void AmbientIntensity(boost::optional< double > v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - double Intensity() const; - void setIntensity(double v); + boost::optional< double > Intensity() const; + void Intensity(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcColourRgb; case 2: return Type::IfcNormalisedRatioMeasure; case 3: return Type::IfcNormalisedRatioMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -14571,7 +14021,7 @@ public: /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. IfcDirection* Orientation() const; - void setOrientation(IfcDirection* v); + void Orientation(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDirection; } return IfcLightSource::getArgumentEntity(i); } @@ -14595,24 +14045,22 @@ class IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); - /// Whether the optional attribute ColourAppearance is defined for this IfcLightSourceGoniometric - bool hasColourAppearance() const; + void Position(IfcAxis2Placement3D* v); /// Artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white; the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance. - IfcColourRgb* ColourAppearance() const; - void setColourAppearance(IfcColourRgb* v); + boost::optional< IfcColourRgb* > ColourAppearance() const; + void ColourAppearance(boost::optional< IfcColourRgb* > v); /// The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). double ColourTemperature() const; - void setColourTemperature(double v); + void ColourTemperature(double v); /// Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. double LuminousFlux() const; - void setLuminousFlux(double v); + void LuminousFlux(double v); /// Identifies the types of light emitter from which the type required may be set. IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource() const; - void setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); + void LightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); /// The data source from which light distribution data is obtained. IfcLightDistributionDataSourceSelect* LightDistributionDataSource() const; - void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v); + void LightDistributionDataSource(IfcLightDistributionDataSourceSelect* v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcAxis2Placement3D; case 5: return Type::IfcColourRgb; case 6: return Type::IfcThermodynamicTemperatureMeasure; case 7: return Type::IfcLuminousFluxMeasure; case 8: return Type::IfcLightEmissionSourceEnum; case 9: return Type::IfcLightDistributionDataSourceSelect; } return IfcLightSource::getArgumentEntity(i); } @@ -14622,7 +14070,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceGoniometric (IfcAbstractEntity* e); - IfcLightSourceGoniometric (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource); + IfcLightSourceGoniometric (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, boost::optional< IfcColourRgb* > v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource); typedef IfcTemplatedEntityList< IfcLightSourceGoniometric > list; }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. @@ -14645,20 +14093,20 @@ public: /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. IfcCartesianPoint* Position() const; - void setPosition(IfcCartesianPoint* v); + void Position(IfcCartesianPoint* v); /// Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. double Radius() const; - void setRadius(double v); + void Radius(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant. double ConstantAttenuation() const; - void setConstantAttenuation(double v); + void ConstantAttenuation(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source. double DistanceAttenuation() const; - void setDistanceAttenuation(double v); + void DistanceAttenuation(double v); /// Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source. double QuadricAttenuation() const; - void setQuadricAttenuation(double v); + void QuadricAttenuation(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcLightSource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcCartesianPoint; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcReal; case 7: return Type::IfcReal; case 8: return Type::IfcReal; } return IfcLightSource::getArgumentEntity(i); } @@ -14691,20 +14139,18 @@ public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. IfcDirection* Orientation() const; - void setOrientation(IfcDirection* v); - /// Whether the optional attribute ConcentrationExponent is defined for this IfcLightSourceSpot - bool hasConcentrationExponent() const; + void Orientation(IfcDirection* v); /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - double ConcentrationExponent() const; - void setConcentrationExponent(double v); + boost::optional< double > ConcentrationExponent() const; + void ConcentrationExponent(boost::optional< double > v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. double SpreadAngle() const; - void setSpreadAngle(double v); + void SpreadAngle(double v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (beamWidthAngle) to the outer solid angle (spreadAngle). double BeamWidthAngle() const; - void setBeamWidthAngle(double v); + void BeamWidthAngle(double v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcLightSourcePositional::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDirection; case 10: return Type::IfcReal; case 11: return Type::IfcPositivePlaneAngleMeasure; case 12: return Type::IfcPositivePlaneAngleMeasure; } return IfcLightSourcePositional::getArgumentEntity(i); } @@ -14771,14 +14217,12 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IfcLocalPlacement : public IfcObjectPlacement { public: - /// Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement - bool hasPlacementRelTo() const; /// Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. - IfcObjectPlacement* PlacementRelTo() const; - void setPlacementRelTo(IfcObjectPlacement* v); + boost::optional< IfcObjectPlacement* > PlacementRelTo() const; + void PlacementRelTo(boost::optional< IfcObjectPlacement* > v); /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. IfcAxis2Placement* RelativePlacement() const; - void setRelativePlacement(IfcAxis2Placement* v); + void RelativePlacement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcObjectPlacement; case 1: return Type::IfcAxis2Placement; } return IfcObjectPlacement::getArgumentEntity(i); } @@ -14788,7 +14232,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLocalPlacement (IfcAbstractEntity* e); - IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement); + IfcLocalPlacement (boost::optional< IfcObjectPlacement* > v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement); typedef IfcTemplatedEntityList< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological @@ -14854,10 +14298,10 @@ class IfcMappedItem : public IfcRepresentationItem { public: /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. IfcRepresentationMap* MappingSource() const; - void setMappingSource(IfcRepresentationMap* v); + void MappingSource(IfcRepresentationMap* v); /// A representation item that is the target onto which the mapping source is mapped. It is constraint to be a Cartesian transformation operator. IfcCartesianTransformationOperator* MappingTarget() const; - void setMappingTarget(IfcCartesianTransformationOperator* v); + void MappingTarget(IfcCartesianTransformationOperator* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRepresentationMap; case 1: return Type::IfcCartesianTransformationOperator; } return IfcRepresentationItem::getArgumentEntity(i); } @@ -14904,7 +14348,7 @@ class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. IfcMaterial* RepresentedMaterial() const; - void setRepresentedMaterial(IfcMaterial* v); + void RepresentedMaterial(IfcMaterial* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; } return IfcProductRepresentation::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcMaterial; } return IfcProductRepresentation::getArgumentEntity(i); } @@ -14920,30 +14364,18 @@ public: class IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { public: - /// Whether the optional attribute CompressiveStrength is defined for this IfcMechanicalConcreteMaterialProperties - bool hasCompressiveStrength() const; - double CompressiveStrength() const; - void setCompressiveStrength(double v); - /// Whether the optional attribute MaxAggregateSize is defined for this IfcMechanicalConcreteMaterialProperties - bool hasMaxAggregateSize() const; - double MaxAggregateSize() const; - void setMaxAggregateSize(double v); - /// Whether the optional attribute AdmixturesDescription is defined for this IfcMechanicalConcreteMaterialProperties - bool hasAdmixturesDescription() const; - std::string AdmixturesDescription() const; - void setAdmixturesDescription(std::string v); - /// Whether the optional attribute Workability is defined for this IfcMechanicalConcreteMaterialProperties - bool hasWorkability() const; - std::string Workability() const; - void setWorkability(std::string v); - /// Whether the optional attribute ProtectivePoreRatio is defined for this IfcMechanicalConcreteMaterialProperties - bool hasProtectivePoreRatio() const; - double ProtectivePoreRatio() const; - void setProtectivePoreRatio(double v); - /// Whether the optional attribute WaterImpermeability is defined for this IfcMechanicalConcreteMaterialProperties - bool hasWaterImpermeability() const; - std::string WaterImpermeability() const; - void setWaterImpermeability(std::string v); + boost::optional< double > CompressiveStrength() const; + void CompressiveStrength(boost::optional< double > v); + boost::optional< double > MaxAggregateSize() const; + void MaxAggregateSize(boost::optional< double > v); + boost::optional< std::string > AdmixturesDescription() const; + void AdmixturesDescription(boost::optional< std::string > v); + boost::optional< std::string > Workability() const; + void Workability(boost::optional< std::string > v); + boost::optional< double > ProtectivePoreRatio() const; + void ProtectivePoreRatio(boost::optional< double > v); + boost::optional< std::string > WaterImpermeability() const; + void WaterImpermeability(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_STRING; } return IfcMechanicalMaterialProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcPressureMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcText; case 9: return Type::IfcText; case 10: return Type::IfcNormalisedRatioMeasure; case 11: return Type::IfcText; } return IfcMechanicalMaterialProperties::getArgumentEntity(i); } @@ -15035,7 +14467,7 @@ class IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem { public: /// A vector which specifies the relative positioning of hatch lines. IfcVector* RepeatFactor() const; - void setRepeatFactor(IfcVector* v); + void RepeatFactor(IfcVector* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVector; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -15132,10 +14564,10 @@ class IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. IfcEdge* EdgeElement() const; - void setEdgeElement(IfcEdge* v); + void EdgeElement(IfcEdge* v); /// BOOLEAN, If TRUE the topological orientation as used coincides with the orientation from start vertex to end vertex of the edge element. If FALSE otherwise. bool Orientation() const; - void setOrientation(bool v); + void Orientation(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } @@ -15194,7 +14626,7 @@ class IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. IfcAxis2Placement2D* Position() const; - void setPosition(IfcAxis2Placement2D* v); + void Position(IfcAxis2Placement2D* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis2Placement2D; } return IfcProfileDef::getArgumentEntity(i); } @@ -15225,7 +14657,7 @@ class IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; - void setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); + void EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOrientedEdge; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -15251,20 +14683,16 @@ class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; - void setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); + void HasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. std::string Discrimination() const; - void setDiscrimination(std::string v); - /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity - bool hasQuality() const; + void Discrimination(std::string v); /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - std::string Quality() const; - void setQuality(std::string v); - /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity - bool hasUsage() const; + boost::optional< std::string > Quality() const; + void Quality(boost::optional< std::string > v); /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - std::string Usage() const; - void setUsage(std::string v); + boost::optional< std::string > Usage() const; + void Usage(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcPhysicalQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcPhysicalQuantity; case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; } return IfcPhysicalQuantity::getArgumentEntity(i); } @@ -15299,13 +14727,13 @@ class IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; - void setWidth(int v); + void Width(int v); /// The number of pixels in height (T) direction. int Height() const; - void setHeight(int v); + void Height(int v); /// Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. int ColourComponents() const; - void setColourComponents(int v); + void ColourComponents(int v); /// Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. /// /// IFC2x Edition 3 CHANGE  The data type has been changed from STRING to BINARY. @@ -15318,7 +14746,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPixelTexture (IfcAbstractEntity* e); - IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents); + IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents); typedef IfcTemplatedEntityList< IfcPixelTexture > list; }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. @@ -15334,7 +14762,7 @@ class IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. IfcCartesianPoint* Location() const; - void setLocation(IfcCartesianPoint* v); + void Location(IfcCartesianPoint* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -15356,10 +14784,10 @@ class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; - void setSizeInX(double v); + void SizeInX(double v); /// The extent in the direction of the y-axis. double SizeInY() const; - void setSizeInY(double v); + void SizeInY(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; case 1: return Type::IfcLengthMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -15404,10 +14832,10 @@ class IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The parameter value of the point location. double PointParameter() const; - void setPointParameter(double v); + void PointParameter(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcParameterValue; } return IfcPoint::getArgumentEntity(i); } @@ -15433,13 +14861,13 @@ class IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. IfcSurface* BasisSurface() const; - void setBasisSurface(IfcSurface* v); + void BasisSurface(IfcSurface* v); /// The first parameter value of the point location. double PointParameterU() const; - void setPointParameterU(double v); + void PointParameterU(double v); /// The second parameter value of the point location. double PointParameterV() const; - void setPointParameterV(double v); + void PointParameterV(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; } return IfcPoint::getArgumentEntity(i); } @@ -15495,7 +14923,7 @@ class IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Polygon() const; - void setPolygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void Polygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcLoop::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; } return IfcLoop::getArgumentEntity(i); } @@ -15568,12 +14996,12 @@ class IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); /// Two-dimensional polyline bounded curve, defined in the xy plane of the position coordinate system. /// /// IFC2x Edition 3 CHANGE  The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange. IfcBoundedCurve* PolygonalBoundary() const; - void setPolygonalBoundary(IfcBoundedCurve* v); + void PolygonalBoundary(IfcBoundedCurve* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcHalfSpaceSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis2Placement3D; case 3: return Type::IfcBoundedCurve; } return IfcHalfSpaceSolid::getArgumentEntity(i); } @@ -15790,21 +15218,15 @@ public: /// UpperBoundValue > LowerBoundValue. class IfcPropertyBoundedValue : public IfcSimpleProperty { public: - /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue - bool hasUpperBoundValue() const; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). - IfcValue* UpperBoundValue() const; - void setUpperBoundValue(IfcValue* v); - /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue - bool hasLowerBoundValue() const; + boost::optional< IfcValue* > UpperBoundValue() const; + void UpperBoundValue(boost::optional< IfcValue* > v); /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). - IfcValue* LowerBoundValue() const; - void setLowerBoundValue(IfcValue* v); - /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue - bool hasUnit() const; + boost::optional< IfcValue* > LowerBoundValue() const; + void LowerBoundValue(boost::optional< IfcValue* > v); /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcValue; case 4: return Type::IfcUnit; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -15814,7 +15236,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyBoundedValue (IfcAbstractEntity* e); - IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit); + IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_UpperBoundValue, boost::optional< IfcValue* > v4_LowerBoundValue, boost::optional< IfcUnit* > v5_Unit); typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; }; /// IfcPropertyDefinition defines the generalization of @@ -15965,12 +15387,10 @@ public: /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr EnumerationValues() const; - void setEnumerationValues(IfcEntityList::ptr v); - /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationReference() const; + void EnumerationValues(IfcEntityList::ptr v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. - IfcPropertyEnumeration* EnumerationReference() const; - void setEnumerationReference(IfcPropertyEnumeration* v); + boost::optional< IfcPropertyEnumeration* > EnumerationReference() const; + void EnumerationReference(boost::optional< IfcPropertyEnumeration* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcPropertyEnumeration; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -15980,7 +15400,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeratedValue (IfcAbstractEntity* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_EnumerationValues, boost::optional< IfcPropertyEnumeration* > v4_EnumerationReference); typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -16054,12 +15474,10 @@ public: /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); - /// Whether the optional attribute Unit is defined for this IfcPropertyListValue - bool hasUnit() const; + void ListValues(IfcEntityList::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. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcUnit; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -16069,7 +15487,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyListValue (IfcAbstractEntity* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_ListValues, IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_ListValues, boost::optional< IfcUnit* > v4_Unit); typedef IfcTemplatedEntityList< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -16089,16 +15507,14 @@ public: /// compatibility for file based exchange. class IfcPropertyReferenceValue : public IfcSimpleProperty { public: - /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue - bool hasUsageName() const; /// Description of the use of the referenced value within the property. - std::string UsageName() const; - void setUsageName(std::string v); + boost::optional< std::string > UsageName() const; + void UsageName(boost::optional< std::string > v); /// Reference to another property entity through one of the select types in the IfcObjectReferenceSelect. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcObjectReferenceSelect* PropertyReference() const; - void setPropertyReference(IfcObjectReferenceSelect* v); + void PropertyReference(IfcObjectReferenceSelect* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLabel; case 3: return Type::IfcObjectReferenceSelect; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -16215,20 +15631,16 @@ public: /// IFC2x3 CHANGE ÿAttribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertySingleValue : public IfcSimpleProperty { public: - /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue - bool hasNominalValue() const; /// Value and measure type of this property. /// /// NOTE  By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. /// /// IFC2x3 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcValue* NominalValue() const; - void setNominalValue(IfcValue* v); - /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue - bool hasUnit() const; + boost::optional< IfcValue* > NominalValue() const; + void NominalValue(boost::optional< IfcValue* > v); /// Unit for the nominal value, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcUnit; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -16238,7 +15650,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySingleValue (IfcAbstractEntity* e); - IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit); + IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_NominalValue, boost::optional< IfcUnit* > v4_Unit); typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; }; /// A property with a range value @@ -16393,27 +15805,21 @@ public: /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr DefiningValues() const; - void setDefiningValues(IfcEntityList::ptr v); + void DefiningValues(IfcEntityList::ptr v); /// Defined values which are applicable for the scope as defined by the defining values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. IfcEntityList::ptr DefinedValues() const; - void setDefinedValues(IfcEntityList::ptr v); - /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue - bool hasExpression() const; + void DefinedValues(IfcEntityList::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. - std::string Expression() const; - void setExpression(std::string v); - /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue - bool hasDefiningUnit() const; + boost::optional< std::string > Expression() const; + void Expression(boost::optional< std::string > v); /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. - IfcUnit* DefiningUnit() const; - void setDefiningUnit(IfcUnit* v); - /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue - bool hasDefinedUnit() const; + boost::optional< IfcUnit* > DefiningUnit() const; + void DefiningUnit(boost::optional< IfcUnit* > v); /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. - IfcUnit* DefinedUnit() const; - void setDefinedUnit(IfcUnit* v); + boost::optional< IfcUnit* > DefinedUnit() const; + void DefinedUnit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcValue; case 4: return Type::IfcText; case 5: return Type::IfcUnit; case 6: return Type::IfcUnit; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -16423,7 +15829,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTableValue (IfcAbstractEntity* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, boost::optional< IfcUnit* > v6_DefiningUnit, boost::optional< IfcUnit* > v7_DefinedUnit); typedef IfcTemplatedEntityList< IfcPropertyTableValue > list; }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. @@ -16464,10 +15870,10 @@ class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; - void setXDim(double v); + void XDim(double v); /// The extent of the rectangle in the direction of the y-axis. double YDim() const; - void setYDim(double v); + void YDim(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -16489,10 +15895,10 @@ class IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; - void setTimeStep(double v); + void TimeStep(double v); /// The collection of time series values. IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr Values() const; - void setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v); + void Values(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_ENTITY_LIST; } return IfcTimeSeries::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTimeMeasure; case 9: return Type::IfcTimeSeriesValue; } return IfcTimeSeries::getArgumentEntity(i); } @@ -16502,7 +15908,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRegularTimeSeries (IfcAbstractEntity* e); - IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); + IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; }; /// Definition from IAI: An @@ -16533,14 +15939,12 @@ public: /// bar type. class IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { public: - /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties - bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - std::string DefinitionType() const; - void setDefinitionType(std::string v); + boost::optional< std::string > DefinitionType() const; + void DefinitionType(boost::optional< std::string > v); /// The list of section reinforcement properties attached to the reinforcement definition properties. IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; - void setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v); + void ReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcSectionReinforcementProperties; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -16616,7 +16020,7 @@ class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; - void setRoundingRadius(double v); + void RoundingRadius(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcPositiveLengthMeasure; } return IfcRectangleProfileDef::getArgumentEntity(i); } @@ -16686,13 +16090,13 @@ class IfcSectionedSpine : public IfcGeometricRepresentationItem { public: /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. IfcCompositeCurve* SpineCurve() const; - void setSpineCurve(IfcCompositeCurve* v); + void SpineCurve(IfcCompositeCurve* v); /// A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions. IfcTemplatedEntityList< IfcProfileDef >::ptr CrossSections() const; - void setCrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v); + void CrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v); /// Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system. IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr CrossSectionPositions() const; - void setCrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v); + void CrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurve; case 1: return Type::IfcProfileDef; case 2: return Type::IfcAxis2Placement3D; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -16709,17 +16113,13 @@ public: class IfcServiceLifeFactor : public IfcPropertySetDefinition { public: IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum PredefinedType() const; - void setPredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v); - /// Whether the optional attribute UpperValue is defined for this IfcServiceLifeFactor - bool hasUpperValue() const; - IfcMeasureValue* UpperValue() const; - void setUpperValue(IfcMeasureValue* v); + void PredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v); + boost::optional< IfcMeasureValue* > UpperValue() const; + void UpperValue(boost::optional< IfcMeasureValue* > v); IfcMeasureValue* MostUsedValue() const; - void setMostUsedValue(IfcMeasureValue* v); - /// Whether the optional attribute LowerValue is defined for this IfcServiceLifeFactor - bool hasLowerValue() const; - IfcMeasureValue* LowerValue() const; - void setLowerValue(IfcMeasureValue* v); + void MostUsedValue(IfcMeasureValue* v); + boost::optional< IfcMeasureValue* > LowerValue() const; + void LowerValue(boost::optional< IfcMeasureValue* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcServiceLifeFactorTypeEnum; case 5: return Type::IfcMeasureValue; case 6: return Type::IfcMeasureValue; case 7: return Type::IfcMeasureValue; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -16729,7 +16129,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcServiceLifeFactor (IfcAbstractEntity* e); - IfcServiceLifeFactor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, IfcMeasureValue* v6_UpperValue, IfcMeasureValue* v7_MostUsedValue, IfcMeasureValue* v8_LowerValue); + IfcServiceLifeFactor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue* > v6_UpperValue, IfcMeasureValue* v7_MostUsedValue, boost::optional< IfcMeasureValue* > v8_LowerValue); typedef IfcTemplatedEntityList< IfcServiceLifeFactor > list; }; /// Definition from ISO/CD 10303-42:1992: A shell based surface model is described by a set of open or closed shells of dimensionality 2. The shells shall not intersect except at edges and vertices. In particular, distinct faces may not intersect. A complete face of one shell may be shared with another shell. Coincident portions of shells shall both reference the same faces, edges and vertices defining the coincident region. There shall be at least one shell. @@ -16747,7 +16147,7 @@ public: class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: IfcEntityList::ptr SbsmBoundary() const; - void setSbsmBoundary(IfcEntityList::ptr v); + void SbsmBoundary(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShell; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -16771,21 +16171,15 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition - bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageX() const; - void setSlippageX(double v); - /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition - bool hasSlippageY() const; + boost::optional< double > SlippageX() const; + void SlippageX(boost::optional< double > v); /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageY() const; - void setSlippageY(double v); - /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition - bool hasSlippageZ() const; + boost::optional< double > SlippageY() const; + void SlippageY(boost::optional< double > v); /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageZ() const; - void setSlippageZ(double v); + boost::optional< double > SlippageZ() const; + void SlippageZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; } return IfcStructuralConnectionCondition::getArgumentEntity(i); } @@ -16821,13 +16215,11 @@ public: class IfcSoundProperties : public IfcPropertySetDefinition { public: bool IsAttenuating() const; - void setIsAttenuating(bool v); - /// Whether the optional attribute SoundScale is defined for this IfcSoundProperties - bool hasSoundScale() const; - IfcSoundScaleEnum::IfcSoundScaleEnum SoundScale() const; - void setSoundScale(IfcSoundScaleEnum::IfcSoundScaleEnum v); + void IsAttenuating(bool v); + boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > SoundScale() const; + void SoundScale(boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v); IfcTemplatedEntityList< IfcSoundValue >::ptr SoundValues() const; - void setSoundValues(IfcTemplatedEntityList< IfcSoundValue >::ptr v); + void SoundValues(IfcTemplatedEntityList< IfcSoundValue >::ptr v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcBoolean; case 5: return Type::IfcSoundScaleEnum; case 6: return Type::IfcSoundValue; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -16843,16 +16235,12 @@ public: class IfcSoundValue : public IfcPropertySetDefinition { public: - /// Whether the optional attribute SoundLevelTimeSeries is defined for this IfcSoundValue - bool hasSoundLevelTimeSeries() const; - IfcTimeSeries* SoundLevelTimeSeries() const; - void setSoundLevelTimeSeries(IfcTimeSeries* v); + boost::optional< IfcTimeSeries* > SoundLevelTimeSeries() const; + void SoundLevelTimeSeries(boost::optional< IfcTimeSeries* > v); double Frequency() const; - void setFrequency(double v); - /// Whether the optional attribute SoundLevelSingleValue is defined for this IfcSoundValue - bool hasSoundLevelSingleValue() const; - IfcDerivedMeasureValue* SoundLevelSingleValue() const; - void setSoundLevelSingleValue(IfcDerivedMeasureValue* v); + void Frequency(double v); + boost::optional< IfcDerivedMeasureValue* > SoundLevelSingleValue() const; + void SoundLevelSingleValue(boost::optional< IfcDerivedMeasureValue* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcTimeSeries; case 5: return Type::IfcFrequencyMeasure; case 6: return Type::IfcDerivedMeasureValue; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -16862,44 +16250,32 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSoundValue (IfcAbstractEntity* e); - IfcSoundValue (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, double v6_Frequency, IfcDerivedMeasureValue* v7_SoundLevelSingleValue); + IfcSoundValue (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcTimeSeries* > v5_SoundLevelTimeSeries, double v6_Frequency, boost::optional< IfcDerivedMeasureValue* > v7_SoundLevelSingleValue); typedef IfcTemplatedEntityList< IfcSoundValue > list; }; class IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: - /// Whether the optional attribute ApplicableValueRatio is defined for this IfcSpaceThermalLoadProperties - bool hasApplicableValueRatio() const; - double ApplicableValueRatio() const; - void setApplicableValueRatio(double v); + boost::optional< double > ApplicableValueRatio() const; + void ApplicableValueRatio(boost::optional< double > v); IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum ThermalLoadSource() const; - void setThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v); + void ThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v); IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource() const; - void setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); - /// Whether the optional attribute SourceDescription is defined for this IfcSpaceThermalLoadProperties - bool hasSourceDescription() const; - std::string SourceDescription() const; - void setSourceDescription(std::string v); + void PropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); + boost::optional< std::string > SourceDescription() const; + void SourceDescription(boost::optional< std::string > v); double MaximumValue() const; - void setMaximumValue(double v); - /// Whether the optional attribute MinimumValue is defined for this IfcSpaceThermalLoadProperties - bool hasMinimumValue() const; - double MinimumValue() const; - void setMinimumValue(double v); - /// Whether the optional attribute ThermalLoadTimeSeriesValues is defined for this IfcSpaceThermalLoadProperties - bool hasThermalLoadTimeSeriesValues() const; - IfcTimeSeries* ThermalLoadTimeSeriesValues() const; - void setThermalLoadTimeSeriesValues(IfcTimeSeries* v); - /// Whether the optional attribute UserDefinedThermalLoadSource is defined for this IfcSpaceThermalLoadProperties - bool hasUserDefinedThermalLoadSource() const; - std::string UserDefinedThermalLoadSource() const; - void setUserDefinedThermalLoadSource(std::string v); - /// Whether the optional attribute UserDefinedPropertySource is defined for this IfcSpaceThermalLoadProperties - bool hasUserDefinedPropertySource() const; - std::string UserDefinedPropertySource() const; - void setUserDefinedPropertySource(std::string v); + void MaximumValue(double v); + boost::optional< double > MinimumValue() const; + void MinimumValue(boost::optional< double > v); + boost::optional< IfcTimeSeries* > ThermalLoadTimeSeriesValues() const; + void ThermalLoadTimeSeriesValues(boost::optional< IfcTimeSeries* > v); + boost::optional< std::string > UserDefinedThermalLoadSource() const; + void UserDefinedThermalLoadSource(boost::optional< std::string > v); + boost::optional< std::string > UserDefinedPropertySource() const; + void UserDefinedPropertySource(boost::optional< std::string > v); IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum ThermalLoadType() const; - void setThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v); + void ThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_ENUMERATION; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcThermalLoadSourceEnum; case 6: return Type::IfcPropertySourceEnum; case 7: return Type::IfcText; case 8: return Type::IfcPowerMeasure; case 9: return Type::IfcPowerMeasure; case 10: return Type::IfcTimeSeries; case 11: return Type::IfcLabel; case 12: return Type::IfcLabel; case 13: return Type::IfcThermalLoadTypeEnum; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -16909,7 +16285,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceThermalLoadProperties (IfcAbstractEntity* e); - IfcSpaceThermalLoadProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType); + IfcSpaceThermalLoadProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, boost::optional< IfcTimeSeries* > v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType); typedef IfcTemplatedEntityList< IfcSpaceThermalLoadProperties > list; }; /// Definition from IAI: An instance of the entity @@ -16919,36 +16295,24 @@ public: /// edition 2. class IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceX() const; /// Linear force value in x-direction. - double LinearForceX() const; - void setLinearForceX(double v); - /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceY() const; + boost::optional< double > LinearForceX() const; + void LinearForceX(boost::optional< double > v); /// Linear force value in y-direction. - double LinearForceY() const; - void setLinearForceY(double v); - /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceZ() const; + boost::optional< double > LinearForceY() const; + void LinearForceY(boost::optional< double > v); /// Linear force value in z-direction. - double LinearForceZ() const; - void setLinearForceZ(double v); - /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentX() const; + boost::optional< double > LinearForceZ() const; + void LinearForceZ(boost::optional< double > v); /// Linear moment about the x-axis. - double LinearMomentX() const; - void setLinearMomentX(double v); - /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentY() const; + boost::optional< double > LinearMomentX() const; + void LinearMomentX(boost::optional< double > v); /// Linear moment about the y-axis. - double LinearMomentY() const; - void setLinearMomentY(double v); - /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentZ() const; + boost::optional< double > LinearMomentY() const; + void LinearMomentY(boost::optional< double > v); /// Linear moment about the z-axis. - double LinearMomentZ() const; - void setLinearMomentZ(double v); + boost::optional< double > LinearMomentZ() const; + void LinearMomentZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLinearForceMeasure; case 2: return Type::IfcLinearForceMeasure; case 3: return Type::IfcLinearForceMeasure; case 4: return Type::IfcLinearMomentMeasure; case 5: return Type::IfcLinearMomentMeasure; case 6: return Type::IfcLinearMomentMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -16968,21 +16332,15 @@ public: /// edition 2. class IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceX() const; /// Planar force value in x-direction. - double PlanarForceX() const; - void setPlanarForceX(double v); - /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceY() const; + boost::optional< double > PlanarForceX() const; + void PlanarForceX(boost::optional< double > v); /// Planar force value in y-direction. - double PlanarForceY() const; - void setPlanarForceY(double v); - /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceZ() const; + boost::optional< double > PlanarForceY() const; + void PlanarForceY(boost::optional< double > v); /// Planar force value in z-direction. - double PlanarForceZ() const; - void setPlanarForceZ(double v); + boost::optional< double > PlanarForceZ() const; + void PlanarForceZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPlanarForceMeasure; case 2: return Type::IfcPlanarForceMeasure; case 3: return Type::IfcPlanarForceMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -17002,36 +16360,24 @@ public: /// edition 2. class IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementX() const; /// Displacement in x-direction. - double DisplacementX() const; - void setDisplacementX(double v); - /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementY() const; + boost::optional< double > DisplacementX() const; + void DisplacementX(boost::optional< double > v); /// Displacement in y-direction. - double DisplacementY() const; - void setDisplacementY(double v); - /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementZ() const; + boost::optional< double > DisplacementY() const; + void DisplacementY(boost::optional< double > v); /// Displacement in z-direction. - double DisplacementZ() const; - void setDisplacementZ(double v); - /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRX() const; + boost::optional< double > DisplacementZ() const; + void DisplacementZ(boost::optional< double > v); /// Rotation about the x-axis. - double RotationalDisplacementRX() const; - void setRotationalDisplacementRX(double v); - /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRY() const; + boost::optional< double > RotationalDisplacementRX() const; + void RotationalDisplacementRX(boost::optional< double > v); /// Rotation about the y-axis. - double RotationalDisplacementRY() const; - void setRotationalDisplacementRY(double v); - /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRZ() const; + boost::optional< double > RotationalDisplacementRY() const; + void RotationalDisplacementRY(boost::optional< double > v); /// Rotation about the z-axis. - double RotationalDisplacementRZ() const; - void setRotationalDisplacementRZ(double v); + boost::optional< double > RotationalDisplacementRZ() const; + void RotationalDisplacementRZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcPlaneAngleMeasure; case 5: return Type::IfcPlaneAngleMeasure; case 6: return Type::IfcPlaneAngleMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -17049,11 +16395,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion - bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - double Distortion() const; - void setDistortion(double v); + boost::optional< double > Distortion() const; + void Distortion(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleDisplacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcCurvatureMeasure; } return IfcStructuralLoadSingleDisplacement::getArgumentEntity(i); } @@ -17074,36 +16418,24 @@ public: /// edition 2. class IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce - bool hasForceX() const; /// Force value in x-direction. - double ForceX() const; - void setForceX(double v); - /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce - bool hasForceY() const; + boost::optional< double > ForceX() const; + void ForceX(boost::optional< double > v); /// Force value in y-direction. - double ForceY() const; - void setForceY(double v); - /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce - bool hasForceZ() const; + boost::optional< double > ForceY() const; + void ForceY(boost::optional< double > v); /// Force value in z-direction. - double ForceZ() const; - void setForceZ(double v); - /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce - bool hasMomentX() const; + boost::optional< double > ForceZ() const; + void ForceZ(boost::optional< double > v); /// Moment about the x-axis. - double MomentX() const; - void setMomentX(double v); - /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce - bool hasMomentY() const; + boost::optional< double > MomentX() const; + void MomentX(boost::optional< double > v); /// Moment about the y-axis. - double MomentY() const; - void setMomentY(double v); - /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce - bool hasMomentZ() const; + boost::optional< double > MomentY() const; + void MomentY(boost::optional< double > v); /// Moment about the z-axis. - double MomentZ() const; - void setMomentZ(double v); + boost::optional< double > MomentZ() const; + void MomentZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcForceMeasure; case 2: return Type::IfcForceMeasure; case 3: return Type::IfcForceMeasure; case 4: return Type::IfcTorqueMeasure; case 5: return Type::IfcTorqueMeasure; case 6: return Type::IfcTorqueMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -17126,11 +16458,9 @@ public: /// edition 2. class IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping - bool hasWarpingMoment() const; /// The warping moment at the point load. - double WarpingMoment() const; - void setWarpingMoment(double v); + boost::optional< double > WarpingMoment() const; + void WarpingMoment(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleForce::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcWarpingMomentMeasure; } return IfcStructuralLoadSingleForce::getArgumentEntity(i); } @@ -17146,70 +16476,38 @@ public: class IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: - /// Whether the optional attribute TorsionalConstantX is defined for this IfcStructuralProfileProperties - bool hasTorsionalConstantX() const; - double TorsionalConstantX() const; - void setTorsionalConstantX(double v); - /// Whether the optional attribute MomentOfInertiaYZ is defined for this IfcStructuralProfileProperties - bool hasMomentOfInertiaYZ() const; - double MomentOfInertiaYZ() const; - void setMomentOfInertiaYZ(double v); - /// Whether the optional attribute MomentOfInertiaY is defined for this IfcStructuralProfileProperties - bool hasMomentOfInertiaY() const; - double MomentOfInertiaY() const; - void setMomentOfInertiaY(double v); - /// Whether the optional attribute MomentOfInertiaZ is defined for this IfcStructuralProfileProperties - bool hasMomentOfInertiaZ() const; - double MomentOfInertiaZ() const; - void setMomentOfInertiaZ(double v); - /// Whether the optional attribute WarpingConstant is defined for this IfcStructuralProfileProperties - bool hasWarpingConstant() const; - double WarpingConstant() const; - void setWarpingConstant(double v); - /// Whether the optional attribute ShearCentreZ is defined for this IfcStructuralProfileProperties - bool hasShearCentreZ() const; - double ShearCentreZ() const; - void setShearCentreZ(double v); - /// Whether the optional attribute ShearCentreY is defined for this IfcStructuralProfileProperties - bool hasShearCentreY() const; - double ShearCentreY() const; - void setShearCentreY(double v); - /// Whether the optional attribute ShearDeformationAreaZ is defined for this IfcStructuralProfileProperties - bool hasShearDeformationAreaZ() const; - double ShearDeformationAreaZ() const; - void setShearDeformationAreaZ(double v); - /// Whether the optional attribute ShearDeformationAreaY is defined for this IfcStructuralProfileProperties - bool hasShearDeformationAreaY() const; - double ShearDeformationAreaY() const; - void setShearDeformationAreaY(double v); - /// Whether the optional attribute MaximumSectionModulusY is defined for this IfcStructuralProfileProperties - bool hasMaximumSectionModulusY() const; - double MaximumSectionModulusY() const; - void setMaximumSectionModulusY(double v); - /// Whether the optional attribute MinimumSectionModulusY is defined for this IfcStructuralProfileProperties - bool hasMinimumSectionModulusY() const; - double MinimumSectionModulusY() const; - void setMinimumSectionModulusY(double v); - /// Whether the optional attribute MaximumSectionModulusZ is defined for this IfcStructuralProfileProperties - bool hasMaximumSectionModulusZ() const; - double MaximumSectionModulusZ() const; - void setMaximumSectionModulusZ(double v); - /// Whether the optional attribute MinimumSectionModulusZ is defined for this IfcStructuralProfileProperties - bool hasMinimumSectionModulusZ() const; - double MinimumSectionModulusZ() const; - void setMinimumSectionModulusZ(double v); - /// Whether the optional attribute TorsionalSectionModulus is defined for this IfcStructuralProfileProperties - bool hasTorsionalSectionModulus() const; - double TorsionalSectionModulus() const; - void setTorsionalSectionModulus(double v); - /// Whether the optional attribute CentreOfGravityInX is defined for this IfcStructuralProfileProperties - bool hasCentreOfGravityInX() const; - double CentreOfGravityInX() const; - void setCentreOfGravityInX(double v); - /// Whether the optional attribute CentreOfGravityInY is defined for this IfcStructuralProfileProperties - bool hasCentreOfGravityInY() const; - double CentreOfGravityInY() const; - void setCentreOfGravityInY(double v); + boost::optional< double > TorsionalConstantX() const; + void TorsionalConstantX(boost::optional< double > v); + boost::optional< double > MomentOfInertiaYZ() const; + void MomentOfInertiaYZ(boost::optional< double > v); + boost::optional< double > MomentOfInertiaY() const; + void MomentOfInertiaY(boost::optional< double > v); + boost::optional< double > MomentOfInertiaZ() const; + void MomentOfInertiaZ(boost::optional< double > v); + boost::optional< double > WarpingConstant() const; + void WarpingConstant(boost::optional< double > v); + boost::optional< double > ShearCentreZ() const; + void ShearCentreZ(boost::optional< double > v); + boost::optional< double > ShearCentreY() const; + void ShearCentreY(boost::optional< double > v); + boost::optional< double > ShearDeformationAreaZ() const; + void ShearDeformationAreaZ(boost::optional< double > v); + boost::optional< double > ShearDeformationAreaY() const; + void ShearDeformationAreaY(boost::optional< double > v); + boost::optional< double > MaximumSectionModulusY() const; + void MaximumSectionModulusY(boost::optional< double > v); + boost::optional< double > MinimumSectionModulusY() const; + void MinimumSectionModulusY(boost::optional< double > v); + boost::optional< double > MaximumSectionModulusZ() const; + void MaximumSectionModulusZ(boost::optional< double > v); + boost::optional< double > MinimumSectionModulusZ() const; + void MinimumSectionModulusZ(boost::optional< double > v); + boost::optional< double > TorsionalSectionModulus() const; + void TorsionalSectionModulus(boost::optional< double > v); + boost::optional< double > CentreOfGravityInX() const; + void CentreOfGravityInX(boost::optional< double > v); + boost::optional< double > CentreOfGravityInY() const; + void CentreOfGravityInY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 23; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_DOUBLE; case 19: return IfcUtil::Argument_DOUBLE; case 20: return IfcUtil::Argument_DOUBLE; case 21: return IfcUtil::Argument_DOUBLE; case 22: return IfcUtil::Argument_DOUBLE; } return IfcGeneralProfileProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcMomentOfInertiaMeasure; case 8: return Type::IfcMomentOfInertiaMeasure; case 9: return Type::IfcMomentOfInertiaMeasure; case 10: return Type::IfcMomentOfInertiaMeasure; case 11: return Type::IfcWarpingConstantMeasure; case 12: return Type::IfcLengthMeasure; case 13: return Type::IfcLengthMeasure; case 14: return Type::IfcAreaMeasure; case 15: return Type::IfcAreaMeasure; case 16: return Type::IfcSectionModulusMeasure; case 17: return Type::IfcSectionModulusMeasure; case 18: return Type::IfcSectionModulusMeasure; case 19: return Type::IfcSectionModulusMeasure; case 20: return Type::IfcSectionModulusMeasure; case 21: return Type::IfcLengthMeasure; case 22: return Type::IfcLengthMeasure; } return IfcGeneralProfileProperties::getArgumentEntity(i); } @@ -17219,28 +16517,20 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralProfileProperties (IfcAbstractEntity* e); - IfcStructuralProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY); + IfcStructuralProfileProperties (boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcStructuralProfileProperties > list; }; class IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { public: - /// Whether the optional attribute ShearAreaZ is defined for this IfcStructuralSteelProfileProperties - bool hasShearAreaZ() const; - double ShearAreaZ() const; - void setShearAreaZ(double v); - /// Whether the optional attribute ShearAreaY is defined for this IfcStructuralSteelProfileProperties - bool hasShearAreaY() const; - double ShearAreaY() const; - void setShearAreaY(double v); - /// Whether the optional attribute PlasticShapeFactorY is defined for this IfcStructuralSteelProfileProperties - bool hasPlasticShapeFactorY() const; - double PlasticShapeFactorY() const; - void setPlasticShapeFactorY(double v); - /// Whether the optional attribute PlasticShapeFactorZ is defined for this IfcStructuralSteelProfileProperties - bool hasPlasticShapeFactorZ() const; - double PlasticShapeFactorZ() const; - void setPlasticShapeFactorZ(double v); + boost::optional< double > ShearAreaZ() const; + void ShearAreaZ(boost::optional< double > v); + boost::optional< double > ShearAreaY() const; + void ShearAreaY(boost::optional< double > v); + boost::optional< double > PlasticShapeFactorY() const; + void PlasticShapeFactorY(boost::optional< double > v); + boost::optional< double > PlasticShapeFactorZ() const; + void PlasticShapeFactorZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 27; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 23: return IfcUtil::Argument_DOUBLE; case 24: return IfcUtil::Argument_DOUBLE; case 25: return IfcUtil::Argument_DOUBLE; case 26: return IfcUtil::Argument_DOUBLE; } return IfcStructuralProfileProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 23: return Type::IfcAreaMeasure; case 24: return Type::IfcAreaMeasure; case 25: return Type::IfcPositiveRatioMeasure; case 26: return Type::IfcPositiveRatioMeasure; } return IfcStructuralProfileProperties::getArgumentEntity(i); } @@ -17250,7 +16540,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSteelProfileProperties (IfcAbstractEntity* e); - IfcStructuralSteelProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ); + IfcStructuralSteelProfileProperties (boost::optional< std::string > v1_ProfileName, boost::optional< IfcProfileDef* > v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ); typedef IfcTemplatedEntityList< IfcStructuralSteelProfileProperties > list; }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. @@ -17267,7 +16557,7 @@ class IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. IfcEdge* ParentEdge() const; - void setParentEdge(IfcEdge* v); + void ParentEdge(IfcEdge* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcEdge::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; } return IfcEdge::getArgumentEntity(i); } @@ -17351,55 +16641,41 @@ public: /// HISTORY: New Entity in IFC 2x. class IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - /// Whether the optional attribute Transparency is defined for this IfcSurfaceStyleRendering - bool hasTransparency() const; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. - double Transparency() const; - void setTransparency(double v); - /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseColour() const; + boost::optional< double > Transparency() const; + void Transparency(boost::optional< double > v); /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. - IfcColourOrFactor* DiffuseColour() const; - void setDiffuseColour(IfcColourOrFactor* v); - /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasTransmissionColour() const; + boost::optional< IfcColourOrFactor* > DiffuseColour() const; + void DiffuseColour(boost::optional< IfcColourOrFactor* > v); /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. - IfcColourOrFactor* TransmissionColour() const; - void setTransmissionColour(IfcColourOrFactor* v); - /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseTransmissionColour() const; + boost::optional< IfcColourOrFactor* > TransmissionColour() const; + void TransmissionColour(boost::optional< IfcColourOrFactor* > v); /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. - IfcColourOrFactor* DiffuseTransmissionColour() const; - void setDiffuseTransmissionColour(IfcColourOrFactor* v); - /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering - bool hasReflectionColour() const; + boost::optional< IfcColourOrFactor* > DiffuseTransmissionColour() const; + void DiffuseTransmissionColour(boost::optional< IfcColourOrFactor* > v); /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. - IfcColourOrFactor* ReflectionColour() const; - void setReflectionColour(IfcColourOrFactor* v); - /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering - bool hasSpecularColour() const; + boost::optional< IfcColourOrFactor* > ReflectionColour() const; + void ReflectionColour(boost::optional< IfcColourOrFactor* > v); /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. - IfcColourOrFactor* SpecularColour() const; - void setSpecularColour(IfcColourOrFactor* v); - /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering - bool hasSpecularHighlight() const; + boost::optional< IfcColourOrFactor* > SpecularColour() const; + void SpecularColour(boost::optional< IfcColourOrFactor* > v); /// The exponent or roughness part of the specular reflectance. - IfcSpecularHighlightSelect* SpecularHighlight() const; - void setSpecularHighlight(IfcSpecularHighlightSelect* v); + boost::optional< IfcSpecularHighlightSelect* > SpecularHighlight() const; + void SpecularHighlight(boost::optional< IfcSpecularHighlightSelect* > v); /// Identifies the predefined types of reflectance method from which the method required may be set. IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod() const; - void setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v); + void ReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcSurfaceStyleShading::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcNormalisedRatioMeasure; case 2: return Type::IfcColourOrFactor; case 3: return Type::IfcColourOrFactor; case 4: return Type::IfcColourOrFactor; case 5: return Type::IfcColourOrFactor; case 6: return Type::IfcColourOrFactor; case 7: return Type::IfcSpecularHighlightSelect; case 8: return Type::IfcReflectanceMethodEnum; } return IfcSurfaceStyleShading::getArgumentEntity(i); } @@ -17409,7 +16685,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyleRendering (IfcAbstractEntity* e); - IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); + IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, boost::optional< IfcColourOrFactor* > v3_DiffuseColour, boost::optional< IfcColourOrFactor* > v4_TransmissionColour, boost::optional< IfcColourOrFactor* > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor* > v6_ReflectionColour, boost::optional< IfcColourOrFactor* > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect* > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area @@ -17434,10 +16710,10 @@ class IfcSweptAreaSolid : public IfcSolidModel { public: /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. IfcProfileDef* SweptArea() const; - void setSweptArea(IfcProfileDef* v); + void SweptArea(IfcProfileDef* v); /// Position coordinate system for the swept area, provided by a profile definition within the XY plane of the Position. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProfileDef; case 1: return Type::IfcAxis2Placement3D; } return IfcSolidModel::getArgumentEntity(i); } @@ -17507,25 +16783,23 @@ class IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. IfcCurve* Directrix() const; - void setDirectrix(IfcCurve* v); + void Directrix(IfcCurve* v); /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. double Radius() const; - void setRadius(double v); - /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid - bool hasInnerRadius() const; + void Radius(double v); /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - double InnerRadius() const; - void setInnerRadius(double v); + boost::optional< double > InnerRadius() const; + void InnerRadius(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double StartParam() const; - void setStartParam(double v); + void StartParam(double v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double EndParam() const; - void setEndParam(double v); + void EndParam(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; } return IfcSolidModel::getArgumentEntity(i); } @@ -17547,10 +16821,10 @@ class IfcSweptSurface : public IfcSurface { public: /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. IfcProfileDef* SweptCurve() const; - void setSweptCurve(IfcProfileDef* v); + void SweptCurve(IfcProfileDef* v); /// Position coordinate system for the placement of the profile within the xy plane of the axis placement. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProfileDef; case 1: return Type::IfcAxis2Placement3D; } return IfcSurface::getArgumentEntity(i); } @@ -17595,45 +16869,33 @@ class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Flange lengths, see illustration above (= b). double FlangeWidth() const; - void setFlangeWidth(double v); + void FlangeWidth(double v); /// Constant wall thickness of web (= ts). double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Constant wall thickness of flange (= tg). double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef - bool hasFlangeEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double FlangeEdgeRadius() const; - void setFlangeEdgeRadius(double v); - /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef - bool hasWebEdgeRadius() const; + boost::optional< double > FlangeEdgeRadius() const; + void FlangeEdgeRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r3). - double WebEdgeRadius() const; - void setWebEdgeRadius(double v); - /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef - bool hasWebSlope() const; + boost::optional< double > WebEdgeRadius() const; + void WebEdgeRadius(boost::optional< double > v); /// Slope of flange of the profile. - double WebSlope() const; - void setWebSlope(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef - bool hasFlangeSlope() const; + boost::optional< double > WebSlope() const; + void WebSlope(boost::optional< double > v); /// Slope of web of the profile. - double FlangeSlope() const; - void setFlangeSlope(double v); - /// Whether the optional attribute CentreOfGravityInY is defined for this IfcTShapeProfileDef - bool hasCentreOfGravityInY() const; - double CentreOfGravityInY() const; - void setCentreOfGravityInY(double v); + boost::optional< double > FlangeSlope() const; + void FlangeSlope(boost::optional< double > v); + boost::optional< double > CentreOfGravityInY() const; + void CentreOfGravityInY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPlaneAngleMeasure; case 11: return Type::IfcPlaneAngleMeasure; case 12: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -17650,7 +16912,7 @@ public: class IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { public: IfcAnnotationCurveOccurrence* AnnotatedCurve() const; - void setAnnotatedCurve(IfcAnnotationCurveOccurrence* v); + void AnnotatedCurve(IfcAnnotationCurveOccurrence* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; } return IfcAnnotationSymbolOccurrence::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcAnnotationCurveOccurrence; } return IfcAnnotationSymbolOccurrence::getArgumentEntity(i); } @@ -17660,7 +16922,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTerminatorSymbol (IfcAbstractEntity* e); - IfcTerminatorSymbol (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve); + IfcTerminatorSymbol (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve); typedef IfcTemplatedEntityList< IfcTerminatorSymbol > list; }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. @@ -17677,14 +16939,14 @@ class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; - void setLiteral(std::string v); + void Literal(std::string v); /// An IfcAxis2Placement that determines the placement and orientation of the presented string. /// When used with a text style based on IfcTextStyleWithBoxCharacteristics then the y-axis is taken as the reference direction for the box rotation angle and the box slant angle. IfcAxis2Placement* Placement() const; - void setPlacement(IfcAxis2Placement* v); + void Placement(IfcAxis2Placement* v); /// The writing direction of the text literal. IfcTextPath::IfcTextPath Path() const; - void setPath(IfcTextPath::IfcTextPath v); + void Path(IfcTextPath::IfcTextPath v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPresentableText; case 1: return Type::IfcAxis2Placement; case 2: return Type::IfcTextPath; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -17710,10 +16972,10 @@ class IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. IfcPlanarExtent* Extent() const; - void setExtent(IfcPlanarExtent* v); + void Extent(IfcPlanarExtent* v); /// The alignment of the text literal relative to its position. std::string BoxAlignment() const; - void setBoxAlignment(std::string v); + void BoxAlignment(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcTextLiteral::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPlanarExtent; case 4: return Type::IfcBoxAlignment; } return IfcTextLiteral::getArgumentEntity(i); } @@ -17768,16 +17030,16 @@ class IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. double BottomXDim() const; - void setBottomXDim(double v); + void BottomXDim(double v); /// The extent of the top line measured along the implicit x-axis. double TopXDim() const; - void setTopXDim(double v); + void TopXDim(double v); /// The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis. double YDim() const; - void setYDim(double v); + void YDim(double v); /// Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis. double TopXOffset() const; - void setTopXOffset(double v); + void TopXOffset(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -17802,7 +17064,7 @@ class IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { public: /// A vector which specifies the relative positioning of tiles in the second direction. IfcVector* SecondRepeatFactor() const; - void setSecondRepeatFactor(IfcVector* v); + void SecondRepeatFactor(IfcVector* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcOneDirectionRepeatFactor::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcVector; } return IfcOneDirectionRepeatFactor::getArgumentEntity(i); } @@ -17848,8 +17110,6 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IfcTypeObject : public IfcObjectDefinition { public: - /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject - bool hasApplicableOccurrence() const; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// /// The IFC entity name of the applicable occurrence using the IFC naming convention, CamelCase with IFC prefix @@ -17857,15 +17117,13 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - std::string ApplicableOccurrence() const; - void setApplicableOccurrence(std::string v); - /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject - bool hasHasPropertySets() const; + boost::optional< std::string > ApplicableOccurrence() const; + void ApplicableOccurrence(boost::optional< std::string > v); /// Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type. /// /// IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET. - IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr HasPropertySets() const; - void setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > HasPropertySets() const; + void HasPropertySets(boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcObjectDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcPropertySetDefinition; } return IfcObjectDefinition::getArgumentEntity(i); } @@ -17947,16 +17205,12 @@ public: /// Figure 11 — Product type geometry with multiple placement class IfcTypeProduct : public IfcTypeObject { public: - /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct - bool hasRepresentationMaps() const; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. - IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMaps() const; - void setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v); - /// Whether the optional attribute Tag is defined for this IfcTypeProduct - bool hasTag() const; + boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > RepresentationMaps() const; + void RepresentationMaps(boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v); /// The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void Tag(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcRepresentationMap; case 7: return Type::IfcLabel; } return IfcTypeObject::getArgumentEntity(i); } @@ -18001,35 +17255,27 @@ class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Flange lengths, see illustration above (= b). double FlangeWidth() const; - void setFlangeWidth(double v); + void FlangeWidth(double v); /// Constant wall thickness of web (= ts). double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Constant wall thickness of flange (= tg). double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef - bool hasFlangeSlope() const; + boost::optional< double > EdgeRadius() const; + void EdgeRadius(boost::optional< double > v); /// Slope of flange of the profile. - double FlangeSlope() const; - void setFlangeSlope(double v); - /// Whether the optional attribute CentreOfGravityInX is defined for this IfcUShapeProfileDef - bool hasCentreOfGravityInX() const; - double CentreOfGravityInX() const; - void setCentreOfGravityInX(double v); + boost::optional< double > FlangeSlope() const; + void FlangeSlope(boost::optional< double > v); + boost::optional< double > CentreOfGravityInX() const; + void CentreOfGravityInX(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPlaneAngleMeasure; case 10: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -18053,10 +17299,10 @@ class IfcVector : public IfcGeometricRepresentationItem { public: /// The direction of the vector. IfcDirection* Orientation() const; - void setOrientation(IfcDirection* v); + void Orientation(IfcDirection* v); /// The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute. double Magnitude() const; - void setMagnitude(double v); + void Magnitude(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcLengthMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18085,7 +17331,7 @@ class IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. IfcVertex* LoopVertex() const; - void setLoopVertex(IfcVertex* v); + void LoopVertex(IfcVertex* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcLoop::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVertex; } return IfcLoop::getArgumentEntity(i); } @@ -18198,53 +17444,35 @@ public: /// All offsets are given as a normalized ratio measure. class IfcWindowLiningProperties : public IfcPropertySetDefinition { public: - /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties - bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - double LiningDepth() const; - void setLiningDepth(double v); - /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties - bool hasLiningThickness() const; + boost::optional< double > LiningDepth() const; + void LiningDepth(boost::optional< double > v); /// Thickness of the window lining (measured parallel to the window elevation plane). - double LiningThickness() const; - void setLiningThickness(double v); - /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties - bool hasTransomThickness() const; + boost::optional< double > LiningThickness() const; + void LiningThickness(boost::optional< double > v); /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - double TransomThickness() const; - void setTransomThickness(double v); - /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties - bool hasMullionThickness() const; + boost::optional< double > TransomThickness() const; + void TransomThickness(boost::optional< double > v); /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - double MullionThickness() const; - void setMullionThickness(double v); - /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties - bool hasFirstTransomOffset() const; + boost::optional< double > MullionThickness() const; + void MullionThickness(boost::optional< double > v); /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - double FirstTransomOffset() const; - void setFirstTransomOffset(double v); - /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties - bool hasSecondTransomOffset() const; + boost::optional< double > FirstTransomOffset() const; + void FirstTransomOffset(boost::optional< double > v); /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - double SecondTransomOffset() const; - void setSecondTransomOffset(double v); - /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties - bool hasFirstMullionOffset() const; + boost::optional< double > SecondTransomOffset() const; + void SecondTransomOffset(boost::optional< double > v); /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - double FirstMullionOffset() const; - void setFirstMullionOffset(double v); - /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties - bool hasSecondMullionOffset() const; + boost::optional< double > FirstMullionOffset() const; + void FirstMullionOffset(boost::optional< double > v); /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - double SecondMullionOffset() const; - void setSecondMullionOffset(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties - bool hasShapeAspectStyle() const; + boost::optional< double > SecondMullionOffset() const; + void SecondMullionOffset(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcNormalisedRatioMeasure; case 9: return Type::IfcNormalisedRatioMeasure; case 10: return Type::IfcNormalisedRatioMeasure; case 11: return Type::IfcNormalisedRatioMeasure; case 12: return Type::IfcShapeAspect; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -18254,7 +17482,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowLiningProperties (IfcAbstractEntity* e); - IfcWindowLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle); + IfcWindowLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, boost::optional< IfcShapeAspect* > v13_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, @@ -18306,27 +17534,21 @@ class IfcWindowPanelProperties : public IfcPropertySetDefinition { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum OperationType() const; - void setOperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v); + void OperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v); /// Position of this panel within the overall window style. IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; - void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); - /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties - bool hasFrameDepth() const; + void PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - double FrameDepth() const; - void setFrameDepth(double v); - /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties - bool hasFrameThickness() const; + boost::optional< double > FrameDepth() const; + void FrameDepth(boost::optional< double > v); /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - double FrameThickness() const; - void setFrameThickness(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties - bool hasShapeAspectStyle() const; + boost::optional< double > FrameThickness() const; + void FrameThickness(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcWindowPanelOperationEnum; case 5: return Type::IfcWindowPanelPositionEnum; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcShapeAspect; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -18336,7 +17558,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowPanelProperties (IfcAbstractEntity* e); - IfcWindowPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcWindowPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcWindowPanelProperties > list; }; /// Definition: The window style defines a particular style of windows, which may be included into the spatial context of the building model through instances of IfcWindow. A window style defines the overall parameter of the window style and refers to the particular parameter of the lining and one (or several) panels through IfcWindowLiningProperties and IfcWindowPanelProperties. @@ -18361,16 +17583,16 @@ class IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType() const; - void setConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v); + void ConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v); /// Type defining the general layout and operation of the window style. IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum OperationType() const; - void setOperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v); + void OperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v); /// The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value. bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); + void ParameterTakesPrecedence(bool v); /// The Boolean indicates, whether the attached ShapeStyle can be sized (using scale factor of transformation), or not (FALSE). If not, the ShapeStyle should be inserted by the IfcWindow (using IfcMappedItem) with the scale factor = 1. bool Sizeable() const; - void setSizeable(bool v); + void Sizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWindowStyleConstructionEnum; case 9: return Type::IfcWindowStyleOperationEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } @@ -18412,26 +17634,22 @@ class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Flange length, see illustration above (= b). double FlangeWidth() const; - void setFlangeWidth(double v); + void FlangeWidth(double v); /// Constant wall thickness of web, see illustration above (= ts). double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Constant wall thickness of flange, see illustration above (= tg). double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); + boost::optional< double > EdgeRadius() const; + void EdgeRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -18456,7 +17674,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationCurveOccurrence (IfcAbstractEntity* e); - IfcAnnotationCurveOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcAnnotationCurveOccurrence (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationCurveOccurrence > list; }; /// Definition from ISO/CD 10303-46:1992: An annotation fill area is a set of curves that may be filled with hatching, colour or tiling. The annotation fill are is described by boundaries which consist of non-intersecting, non-self-intersecting closed curves. These curves form the boundary of planar areas to be filled according to the style for the annotation fill area. @@ -18485,14 +17703,12 @@ public: /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. IfcCurve* OuterBoundary() const; - void setOuterBoundary(IfcCurve* v); - /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea - bool hasInnerBoundaries() const; + void OuterBoundary(IfcCurve* v); /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; - void setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > InnerBoundaries() const; + void InnerBoundaries(boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18508,14 +17724,10 @@ public: class IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { public: - /// Whether the optional attribute FillStyleTarget is defined for this IfcAnnotationFillAreaOccurrence - bool hasFillStyleTarget() const; - IfcPoint* FillStyleTarget() const; - void setFillStyleTarget(IfcPoint* v); - /// Whether the optional attribute GlobalOrLocal is defined for this IfcAnnotationFillAreaOccurrence - bool hasGlobalOrLocal() const; - IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal() const; - void setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v); + boost::optional< IfcPoint* > FillStyleTarget() const; + void FillStyleTarget(boost::optional< IfcPoint* > v); + boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > GlobalOrLocal() const; + void GlobalOrLocal(boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENUMERATION; } return IfcAnnotationOccurrence::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPoint; case 4: return Type::IfcGlobalOrLocalEnum; } return IfcAnnotationOccurrence::getArgumentEntity(i); } @@ -18525,18 +17737,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationFillAreaOccurrence (IfcAbstractEntity* e); - IfcAnnotationFillAreaOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal); + IfcAnnotationFillAreaOccurrence (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, boost::optional< IfcPoint* > v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence > list; }; class IfcAnnotationSurface : public IfcGeometricRepresentationItem { public: IfcGeometricRepresentationItem* Item() const; - void setItem(IfcGeometricRepresentationItem* v); - /// Whether the optional attribute TextureCoordinates is defined for this IfcAnnotationSurface - bool hasTextureCoordinates() const; - IfcTextureCoordinate* TextureCoordinates() const; - void setTextureCoordinates(IfcTextureCoordinate* v); + void Item(IfcGeometricRepresentationItem* v); + boost::optional< IfcTextureCoordinate* > TextureCoordinates() const; + void TextureCoordinates(boost::optional< IfcTextureCoordinate* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGeometricRepresentationItem; case 1: return Type::IfcTextureCoordinate; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18546,7 +17756,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationSurface (IfcAbstractEntity* e); - IfcAnnotationSurface (IfcGeometricRepresentationItem* v1_Item, IfcTextureCoordinate* v2_TextureCoordinates); + IfcAnnotationSurface (IfcGeometricRepresentationItem* v1_Item, boost::optional< IfcTextureCoordinate* > v2_TextureCoordinates); typedef IfcTemplatedEntityList< IfcAnnotationSurface > list; }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). @@ -18560,11 +17770,9 @@ public: /// Figure 274 — Axis1 placement class IfcAxis1Placement : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis1Placement - bool hasAxis() const; /// The direction of the local Z axis. - IfcDirection* Axis() const; - void setAxis(IfcDirection* v); + boost::optional< IfcDirection* > Axis() const; + void Axis(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDirection; } return IfcPlacement::getArgumentEntity(i); } @@ -18574,7 +17782,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAxis1Placement (IfcAbstractEntity* e); - IfcAxis1Placement (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis); + IfcAxis1Placement (IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis); typedef IfcTemplatedEntityList< IfcAxis1Placement > list; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. @@ -18590,11 +17798,9 @@ public: /// Figure 275 — Axis2 placement 2D class IfcAxis2Placement2D : public IfcPlacement { public: - /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D - bool hasRefDirection() const; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. - IfcDirection* RefDirection() const; - void setRefDirection(IfcDirection* v); + boost::optional< IfcDirection* > RefDirection() const; + void RefDirection(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDirection; } return IfcPlacement::getArgumentEntity(i); } @@ -18604,7 +17810,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAxis2Placement2D (IfcAbstractEntity* e); - IfcAxis2Placement2D (IfcCartesianPoint* v1_Location, IfcDirection* v2_RefDirection); + IfcAxis2Placement2D (IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_RefDirection); typedef IfcTemplatedEntityList< IfcAxis2Placement2D > list; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. @@ -18622,16 +17828,12 @@ public: /// Figure 276 — Axis2 placement 3D class IfcAxis2Placement3D : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D - bool hasAxis() const; /// The exact direction of the local Z Axis. - IfcDirection* Axis() const; - void setAxis(IfcDirection* v); - /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D - bool hasRefDirection() const; + boost::optional< IfcDirection* > Axis() const; + void Axis(boost::optional< IfcDirection* > v); /// The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system. - IfcDirection* RefDirection() const; - void setRefDirection(IfcDirection* v); + boost::optional< IfcDirection* > RefDirection() const; + void RefDirection(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDirection; case 2: return Type::IfcDirection; } return IfcPlacement::getArgumentEntity(i); } @@ -18641,7 +17843,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAxis2Placement3D (IfcAbstractEntity* e); - IfcAxis2Placement3D (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis, IfcDirection* v3_RefDirection); + IfcAxis2Placement3D (IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis, boost::optional< IfcDirection* > v3_RefDirection); typedef IfcTemplatedEntityList< IfcAxis2Placement3D > list; }; /// Definition from ISO/CD 10303-42:1992: A Boolean result @@ -18674,13 +17876,13 @@ class IfcBooleanResult : public IfcGeometricRepresentationItem { public: /// The Boolean operator used in the operation to create the result. IfcBooleanOperator::IfcBooleanOperator Operator() const; - void setOperator(IfcBooleanOperator::IfcBooleanOperator v); + void Operator(IfcBooleanOperator::IfcBooleanOperator v); /// The first operand to be operated upon by the Boolean operation. IfcBooleanOperand* FirstOperand() const; - void setFirstOperand(IfcBooleanOperand* v); + void FirstOperand(IfcBooleanOperand* v); /// The second operand specified for the operation. IfcBooleanOperand* SecondOperand() const; - void setSecondOperand(IfcBooleanOperand* v); + void SecondOperand(IfcBooleanOperand* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcBooleanOperator; case 1: return Type::IfcBooleanOperand; case 2: return Type::IfcBooleanOperand; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18745,16 +17947,16 @@ class IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). IfcCartesianPoint* Corner() const; - void setCorner(IfcCartesianPoint* v); + void Corner(IfcCartesianPoint* v); /// Length attribute (measured along the edge parallel to the X Axis) double XDim() const; - void setXDim(double v); + void XDim(double v); /// Width attribute (measured along the edge parallel to the Y Axis) double YDim() const; - void setYDim(double v); + void YDim(double v); /// Height attribute (measured along the edge parallel to the Z Axis). double ZDim() const; - void setZDim(double v); + void ZDim(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18801,7 +18003,7 @@ class IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. IfcBoundingBox* Enclosure() const; - void setEnclosure(IfcBoundingBox* v); + void Enclosure(IfcBoundingBox* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcHalfSpaceSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcBoundingBox; } return IfcHalfSpaceSolid::getArgumentEntity(i); } @@ -18840,25 +18042,21 @@ class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Profile width, see illustration above (= b). double Width() const; - void setWidth(double v); + void Width(double v); /// Constant wall thickness of profile (= ts). double WallThickness() const; - void setWallThickness(double v); + void WallThickness(double v); /// Lengths of girth, see illustration above (= c). double Girth() const; - void setGirth(double v); - /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef - bool hasInternalFilletRadius() const; + void Girth(double v); /// Internal fillet radius according the above illustration (= r1). - double InternalFilletRadius() const; - void setInternalFilletRadius(double v); - /// Whether the optional attribute CentreOfGravityInX is defined for this IfcCShapeProfileDef - bool hasCentreOfGravityInX() const; - double CentreOfGravityInX() const; - void setCentreOfGravityInX(double v); + boost::optional< double > InternalFilletRadius() const; + void InternalFilletRadius(boost::optional< double > v); + boost::optional< double > CentreOfGravityInX() const; + void CentreOfGravityInX(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -18882,7 +18080,7 @@ class IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; - void setCoordinates(std::vector< double > /*[1:3]*/ v); + void Coordinates(std::vector< double > /*[1:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; } return IfcPoint::getArgumentEntity(i); } @@ -18927,24 +18125,18 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator - bool hasAxis1() const; /// The direction used to determine U[1], the derived X axis direction. - IfcDirection* Axis1() const; - void setAxis1(IfcDirection* v); - /// Whether the optional attribute Axis2 is defined for this IfcCartesianTransformationOperator - bool hasAxis2() const; + boost::optional< IfcDirection* > Axis1() const; + void Axis1(boost::optional< IfcDirection* > v); /// The direction used to determine U[2], the derived Y axis direction. - IfcDirection* Axis2() const; - void setAxis2(IfcDirection* v); + boost::optional< IfcDirection* > Axis2() const; + void Axis2(boost::optional< IfcDirection* > v); /// The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin. IfcCartesianPoint* LocalOrigin() const; - void setLocalOrigin(IfcCartesianPoint* v); - /// Whether the optional attribute Scale is defined for this IfcCartesianTransformationOperator - bool hasScale() const; + void LocalOrigin(IfcCartesianPoint* v); /// The scaling value specified for the transformation. - double Scale() const; - void setScale(double v); + boost::optional< double > Scale() const; + void Scale(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcDirection; case 2: return Type::IfcCartesianPoint; case 3: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18954,7 +18146,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator (IfcAbstractEntity* e); - IfcCartesianTransformationOperator (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); + IfcCartesianTransformationOperator (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. @@ -18973,7 +18165,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator2D (IfcAbstractEntity* e); - IfcCartesianTransformationOperator2D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2D > list; }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: @@ -18988,11 +18180,9 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform - bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2() const; - void setScale2(double v); + boost::optional< double > Scale2() const; + void Scale2(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator2D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; } return IfcCartesianTransformationOperator2D::getArgumentEntity(i); } @@ -19002,7 +18192,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntity* e); - IfcCartesianTransformationOperator2DnonUniform (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. @@ -19012,11 +18202,9 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D - bool hasAxis3() const; /// The exact direction of U[3], the derived Z axis direction. - IfcDirection* Axis3() const; - void setAxis3(IfcDirection* v); + boost::optional< IfcDirection* > Axis3() const; + void Axis3(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; } return IfcCartesianTransformationOperator::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDirection; } return IfcCartesianTransformationOperator::getArgumentEntity(i); } @@ -19026,7 +18214,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator3D (IfcAbstractEntity* e); - IfcCartesianTransformationOperator3D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3); + IfcCartesianTransformationOperator3D (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3D > list; }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: @@ -19042,16 +18230,12 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2() const; - void setScale2(double v); - /// Whether the optional attribute Scale3 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale3() const; + boost::optional< double > Scale2() const; + void Scale2(boost::optional< double > v); /// The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. - double Scale3() const; - void setScale3(double v); + boost::optional< double > Scale3() const; + void Scale3(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcCartesianTransformationOperator3D::getArgumentEntity(i); } @@ -19061,7 +18245,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator3DnonUniform (IfcAbstractEntity* e); - IfcCartesianTransformationOperator3DnonUniform (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform > list; }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. @@ -19080,7 +18264,7 @@ class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -19167,15 +18351,15 @@ class IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. IfcTransitionCode::IfcTransitionCode Transition() const; - void setTransition(IfcTransitionCode::IfcTransitionCode v); + void Transition(IfcTransitionCode::IfcTransitionCode v); /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// /// NOTE  If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); /// The bounded curve which defines the geometry of the segment. IfcCurve* ParentCurve() const; - void setParentCurve(IfcCurve* v); + void ParentCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTransitionCode; case 1: return Type::UNDEFINED; case 2: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19193,33 +18377,29 @@ public: class IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: double OverallHeight() const; - void setOverallHeight(double v); + void OverallHeight(double v); double BaseWidth2() const; - void setBaseWidth2(double v); - /// Whether the optional attribute Radius is defined for this IfcCraneRailAShapeProfileDef - bool hasRadius() const; - double Radius() const; - void setRadius(double v); + void BaseWidth2(double v); + boost::optional< double > Radius() const; + void Radius(boost::optional< double > v); double HeadWidth() const; - void setHeadWidth(double v); + void HeadWidth(double v); double HeadDepth2() const; - void setHeadDepth2(double v); + void HeadDepth2(double v); double HeadDepth3() const; - void setHeadDepth3(double v); + void HeadDepth3(double v); double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); double BaseWidth4() const; - void setBaseWidth4(double v); + void BaseWidth4(double v); double BaseDepth1() const; - void setBaseDepth1(double v); + void BaseDepth1(double v); double BaseDepth2() const; - void setBaseDepth2(double v); + void BaseDepth2(double v); double BaseDepth3() const; - void setBaseDepth3(double v); - /// Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailAShapeProfileDef - bool hasCentreOfGravityInY() const; - double CentreOfGravityInY() const; - void setCentreOfGravityInY(double v); + void BaseDepth3(double v); + boost::optional< double > CentreOfGravityInY() const; + void CentreOfGravityInY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcPositiveLengthMeasure; case 14: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -19236,27 +18416,23 @@ public: class IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: double OverallHeight() const; - void setOverallHeight(double v); + void OverallHeight(double v); double HeadWidth() const; - void setHeadWidth(double v); - /// Whether the optional attribute Radius is defined for this IfcCraneRailFShapeProfileDef - bool hasRadius() const; - double Radius() const; - void setRadius(double v); + void HeadWidth(double v); + boost::optional< double > Radius() const; + void Radius(boost::optional< double > v); double HeadDepth2() const; - void setHeadDepth2(double v); + void HeadDepth2(double v); double HeadDepth3() const; - void setHeadDepth3(double v); + void HeadDepth3(double v); double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); double BaseDepth1() const; - void setBaseDepth1(double v); + void BaseDepth1(double v); double BaseDepth2() const; - void setBaseDepth2(double v); - /// Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailFShapeProfileDef - bool hasCentreOfGravityInY() const; - double CentreOfGravityInY() const; - void setCentreOfGravityInY(double v); + void BaseDepth2(double v); + boost::optional< double > CentreOfGravityInY() const; + void CentreOfGravityInY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -19278,7 +18454,7 @@ class IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement3D; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19336,7 +18512,7 @@ class IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). IfcCsgSelect* TreeRootExpression() const; - void setTreeRootExpression(IfcCsgSelect* v); + void TreeRootExpression(IfcCsgSelect* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCsgSelect; } return IfcSolidModel::getArgumentEntity(i); } @@ -19390,13 +18566,13 @@ class IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. IfcPlane* BasisSurface() const; - void setBasisSurface(IfcPlane* v); + void BasisSurface(IfcPlane* v); /// The outer boundary of the surface. IfcCurve* OuterBoundary() const; - void setOuterBoundary(IfcCurve* v); + void OuterBoundary(IfcCurve* v); /// An optional set of inner boundaries. They shall not intersect each other or the outer boundary. IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; - void setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); + void InnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcBoundedSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPlane; case 1: return Type::IfcCurve; case 2: return Type::IfcCurve; } return IfcBoundedSurface::getArgumentEntity(i); } @@ -19420,10 +18596,10 @@ class IfcDefinedSymbol : public IfcGeometricRepresentationItem { public: /// An implicit description of the symbol, either predefined or externally defined. IfcDefinedSymbolSelect* Definition() const; - void setDefinition(IfcDefinedSymbolSelect* v); + void Definition(IfcDefinedSymbolSelect* v); /// A description of the placement, orientation and (uniform or non-uniform) scaling of the defined symbol. IfcCartesianTransformationOperator2D* Target() const; - void setTarget(IfcCartesianTransformationOperator2D* v); + void Target(IfcCartesianTransformationOperator2D* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDefinedSymbolSelect; case 1: return Type::IfcCartesianTransformationOperator2D; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19449,14 +18625,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDimensionCurve (IfcAbstractEntity* e); - IfcDimensionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcDimensionCurve (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcDimensionCurve > list; }; class IfcDimensionCurveTerminator : public IfcTerminatorSymbol { public: IfcDimensionExtentUsage::IfcDimensionExtentUsage Role() const; - void setRole(IfcDimensionExtentUsage::IfcDimensionExtentUsage v); + void Role(IfcDimensionExtentUsage::IfcDimensionExtentUsage v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; } return IfcTerminatorSymbol::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDimensionExtentUsage; } return IfcTerminatorSymbol::getArgumentEntity(i); } @@ -19466,7 +18642,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDimensionCurveTerminator (IfcAbstractEntity* e); - IfcDimensionCurveTerminator (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role); + IfcDimensionCurveTerminator (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role); typedef IfcTemplatedEntityList< IfcDimensionCurveTerminator > list; }; /// Definition from ISO/CD 10303-42:1992: This entity defines a general direction vector in two or three dimensional space. The actual magnitudes of the components have no effect upon the direction being defined, only the ratios X:Y:Z or X:Y are significant. @@ -19480,7 +18656,7 @@ class IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; - void setDirectionRatios(std::vector< double > /*[2:3]*/ v); + void DirectionRatios(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19590,63 +18766,41 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IfcDoorLiningProperties : public IfcPropertySetDefinition { public: - /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties - bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - double LiningDepth() const; - void setLiningDepth(double v); - /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties - bool hasLiningThickness() const; + boost::optional< double > LiningDepth() const; + void LiningDepth(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the door lining. - double LiningThickness() const; - void setLiningThickness(double v); - /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties - bool hasThresholdDepth() const; + boost::optional< double > LiningThickness() const; + void LiningThickness(boost::optional< double > v); /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - double ThresholdDepth() const; - void setThresholdDepth(double v); - /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties - bool hasThresholdThickness() const; + boost::optional< double > ThresholdDepth() const; + void ThresholdDepth(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - double ThresholdThickness() const; - void setThresholdThickness(double v); - /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties - bool hasTransomThickness() const; + boost::optional< double > ThresholdThickness() const; + void ThresholdThickness(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - double TransomThickness() const; - void setTransomThickness(double v); - /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties - bool hasTransomOffset() const; + boost::optional< double > TransomThickness() const; + void TransomThickness(boost::optional< double > v); /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - double TransomOffset() const; - void setTransomOffset(double v); - /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties - bool hasLiningOffset() const; + boost::optional< double > TransomOffset() const; + void TransomOffset(boost::optional< double > v); /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - double LiningOffset() const; - void setLiningOffset(double v); - /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties - bool hasThresholdOffset() const; + boost::optional< double > LiningOffset() const; + void LiningOffset(boost::optional< double > v); /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - double ThresholdOffset() const; - void setThresholdOffset(double v); - /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties - bool hasCasingThickness() const; + boost::optional< double > ThresholdOffset() const; + void ThresholdOffset(boost::optional< double > v); /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - double CasingThickness() const; - void setCasingThickness(double v); - /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties - bool hasCasingDepth() const; + boost::optional< double > CasingThickness() const; + void CasingThickness(boost::optional< double > v); /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - double CasingDepth() const; - void setCasingDepth(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties - bool hasShapeAspectStyle() const; + boost::optional< double > CasingDepth() const; + void CasingDepth(boost::optional< double > v); /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcLengthMeasure; case 10: return Type::IfcLengthMeasure; case 11: return Type::IfcLengthMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcPositiveLengthMeasure; case 14: return Type::IfcShapeAspect; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -19656,7 +18810,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorLiningProperties (IfcAbstractEntity* e); - IfcDoorLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle); + IfcDoorLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, boost::optional< IfcShapeAspect* > v15_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or @@ -19706,29 +18860,23 @@ public: /// Figure 173 — Door panel properties class IfcDoorPanelProperties : public IfcPropertySetDefinition { public: - /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties - bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - double PanelDepth() const; - void setPanelDepth(double v); + boost::optional< double > PanelDepth() const; + void PanelDepth(boost::optional< double > v); /// The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum PanelOperation() const; - void setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); - /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties - bool hasPanelWidth() const; + void PanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - double PanelWidth() const; - void setPanelWidth(double v); + boost::optional< double > PanelWidth() const; + void PanelWidth(boost::optional< double > v); /// Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum PanelPosition() const; - void setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorPanelProperties - bool hasShapeAspectStyle() const; + void PanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcDoorPanelOperationEnum; case 6: return Type::IfcNormalisedRatioMeasure; case 7: return Type::IfcDoorPanelPositionEnum; case 8: return Type::IfcShapeAspect; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -19738,7 +18886,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorPanelProperties (IfcAbstractEntity* e); - IfcDoorPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); + IfcDoorPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcDoorPanelProperties > list; }; /// Definition: The door style, IfcDoorStyle, defines a particular style of doors, which may be included into the spatial context of the building model through instances of IfcDoor. A door style defines the overall parameter of the door style and refers to the particular parameter of the lining and one (or several) panels through the IfcDoorLiningProperties and the IfcDoorPanelProperties. @@ -19771,16 +18919,16 @@ class IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType() const; - void setOperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v); + void OperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v); /// Type defining the basic construction and material type of the door. IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum ConstructionType() const; - void setConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v); + void ConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v); /// The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value. bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); + void ParameterTakesPrecedence(bool v); /// The Boolean indicates, whether the attached IfcMappedRepresentation (if given) can be sized (using scale factor of transformation), or not (FALSE). If not, the IfcMappedRepresentation should be IfcShapeRepresentation of the IfcDoor (using IfcMappedItem as the Item) with the scale factor = 1. bool Sizeable() const; - void setSizeable(bool v); + void Sizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDoorStyleOperationEnum; case 9: return Type::IfcDoorStyleConstructionEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } @@ -19797,7 +18945,7 @@ public: class IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: IfcEntityList::ptr Contents() const; - void setContents(IfcEntityList::ptr v); + void Contents(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDraughtingCalloutElement; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19940,7 +19088,7 @@ class IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; - void setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); + void EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcLoop::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOrientedEdge; } return IfcLoop::getArgumentEntity(i); } @@ -20032,16 +19180,14 @@ public: /// attribute as published as part of the IFC specifciation. class IfcElementQuantity : public IfcPropertySetDefinition { public: - /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity - bool hasMethodOfMeasurement() const; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// /// IFC2x2 Addendum 1 change: The attribute has been changed to be optional - std::string MethodOfMeasurement() const; - void setMethodOfMeasurement(std::string v); + boost::optional< std::string > MethodOfMeasurement() const; + void MethodOfMeasurement(boost::optional< std::string > v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr Quantities() const; - void setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); + void Quantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcPhysicalQuantity; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -20078,11 +19224,9 @@ public: /// Release IFC2x Edition 2 class IfcElementType : public IfcTypeProduct { public: - /// Whether the optional attribute ElementType is defined for this IfcElementType - bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ElementType() const; - void setElementType(std::string v); + boost::optional< std::string > ElementType() const; + void ElementType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLabel; } return IfcTypeProduct::getArgumentEntity(i); } @@ -20104,7 +19248,7 @@ class IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement3D; } return IfcSurface::getArgumentEntity(i); } @@ -20137,10 +19281,10 @@ class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; - void setSemiAxis1(double v); + void SemiAxis1(double v); /// The second radius of the ellipse. It is measured along the direction of Position.P[2]. double SemiAxis2() const; - void setSemiAxis2(double v); + void SemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -20156,14 +19300,10 @@ public: class IfcEnergyProperties : public IfcPropertySetDefinition { public: - /// Whether the optional attribute EnergySequence is defined for this IfcEnergyProperties - bool hasEnergySequence() const; - IfcEnergySequenceEnum::IfcEnergySequenceEnum EnergySequence() const; - void setEnergySequence(IfcEnergySequenceEnum::IfcEnergySequenceEnum v); - /// Whether the optional attribute UserDefinedEnergySequence is defined for this IfcEnergyProperties - bool hasUserDefinedEnergySequence() const; - std::string UserDefinedEnergySequence() const; - void setUserDefinedEnergySequence(std::string v); + boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > EnergySequence() const; + void EnergySequence(boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v); + boost::optional< std::string > UserDefinedEnergySequence() const; + void UserDefinedEnergySequence(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_STRING; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcEnergySequenceEnum; case 5: return Type::IfcLabel; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -20248,11 +19388,11 @@ class IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. IfcDirection* ExtrudedDirection() const; - void setExtrudedDirection(IfcDirection* v); + void ExtrudedDirection(IfcDirection* v); /// The distance the surface is to be swept along the ExtrudedDirection /// . double Depth() const; - void setDepth(double v); + void Depth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDirection; case 3: return Type::IfcPositiveLengthMeasure; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -20281,7 +19421,7 @@ class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr FbsmFaces() const; - void setFbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v); + void FbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcConnectedFaceSet; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20345,31 +19485,27 @@ class IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. IfcCurveStyle* HatchLineAppearance() const; - void setHatchLineAppearance(IfcCurveStyle* v); + void HatchLineAppearance(IfcCurveStyle* v); /// A repetition factor that determines the distance between adjacent hatch lines. /// /// IFC2x Edition 3 CHANGE  The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. IfcHatchLineDistanceSelect* StartOfNextHatchLine() const; - void setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v); - /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching - bool hasPointOfReferenceHatchLine() const; + void StartOfNextHatchLine(IfcHatchLineDistanceSelect* v); /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. /// /// IFC2x Edition 3 CHANGE  The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. - IfcCartesianPoint* PointOfReferenceHatchLine() const; - void setPointOfReferenceHatchLine(IfcCartesianPoint* v); - /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching - bool hasPatternStart() const; + boost::optional< IfcCartesianPoint* > PointOfReferenceHatchLine() const; + void PointOfReferenceHatchLine(boost::optional< IfcCartesianPoint* > v); /// A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. /// If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute PatternStart has been made OPTIONAL. - IfcCartesianPoint* PatternStart() const; - void setPatternStart(IfcCartesianPoint* v); + boost::optional< IfcCartesianPoint* > PatternStart() const; + void PatternStart(boost::optional< IfcCartesianPoint* > v); /// A plane angle measure determining the direction of the parallel hatching lines. double HatchLineAngle() const; - void setHatchLineAngle(double v); + void HatchLineAngle(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurveStyle; case 1: return Type::IfcHatchLineDistanceSelect; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcCartesianPoint; case 4: return Type::IfcPlaneAngleMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20379,7 +19515,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyleHatching (IfcAbstractEntity* e); - IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, boost::optional< IfcCartesianPoint* > v3_PointOfReferenceHatchLine, boost::optional< IfcCartesianPoint* > v4_PatternStart, double v5_HatchLineAngle); typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching > list; }; /// The fill area style tile symbol with style is a symbol that is used as a tile within an annotated tiling. @@ -20397,7 +19533,7 @@ public: /// /// NOTE Only IfcStyleItem's that refer to a compatible geometric representation item and presentation style shall be used. IfcAnnotationSymbolOccurrence* Symbol() const; - void setSymbol(IfcAnnotationSymbolOccurrence* v); + void Symbol(IfcAnnotationSymbolOccurrence* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAnnotationSymbolOccurrence; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20419,13 +19555,13 @@ class IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. IfcOneDirectionRepeatFactor* TilingPattern() const; - void setTilingPattern(IfcOneDirectionRepeatFactor* v); + void TilingPattern(IfcOneDirectionRepeatFactor* v); /// A set of constituents of the tile. IfcEntityList::ptr Tiles() const; - void setTiles(IfcEntityList::ptr v); + void Tiles(IfcEntityList::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); + void TilingScale(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOneDirectionRepeatFactor; case 1: return Type::IfcFillAreaStyleTileShapeSelect; case 2: return Type::IfcPositiveRatioMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20442,61 +19578,35 @@ public: class IfcFluidFlowProperties : public IfcPropertySetDefinition { public: IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource() const; - void setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); - /// Whether the optional attribute FlowConditionTimeSeries is defined for this IfcFluidFlowProperties - bool hasFlowConditionTimeSeries() const; - IfcTimeSeries* FlowConditionTimeSeries() const; - void setFlowConditionTimeSeries(IfcTimeSeries* v); - /// Whether the optional attribute VelocityTimeSeries is defined for this IfcFluidFlowProperties - bool hasVelocityTimeSeries() const; - IfcTimeSeries* VelocityTimeSeries() const; - void setVelocityTimeSeries(IfcTimeSeries* v); - /// Whether the optional attribute FlowrateTimeSeries is defined for this IfcFluidFlowProperties - bool hasFlowrateTimeSeries() const; - IfcTimeSeries* FlowrateTimeSeries() const; - void setFlowrateTimeSeries(IfcTimeSeries* v); + void PropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); + boost::optional< IfcTimeSeries* > FlowConditionTimeSeries() const; + void FlowConditionTimeSeries(boost::optional< IfcTimeSeries* > v); + boost::optional< IfcTimeSeries* > VelocityTimeSeries() const; + void VelocityTimeSeries(boost::optional< IfcTimeSeries* > v); + boost::optional< IfcTimeSeries* > FlowrateTimeSeries() const; + void FlowrateTimeSeries(boost::optional< IfcTimeSeries* > v); IfcMaterial* Fluid() const; - void setFluid(IfcMaterial* v); - /// Whether the optional attribute PressureTimeSeries is defined for this IfcFluidFlowProperties - bool hasPressureTimeSeries() const; - IfcTimeSeries* PressureTimeSeries() const; - void setPressureTimeSeries(IfcTimeSeries* v); - /// Whether the optional attribute UserDefinedPropertySource is defined for this IfcFluidFlowProperties - bool hasUserDefinedPropertySource() const; - std::string UserDefinedPropertySource() const; - void setUserDefinedPropertySource(std::string v); - /// Whether the optional attribute TemperatureSingleValue is defined for this IfcFluidFlowProperties - bool hasTemperatureSingleValue() const; - double TemperatureSingleValue() const; - void setTemperatureSingleValue(double v); - /// Whether the optional attribute WetBulbTemperatureSingleValue is defined for this IfcFluidFlowProperties - bool hasWetBulbTemperatureSingleValue() const; - double WetBulbTemperatureSingleValue() const; - void setWetBulbTemperatureSingleValue(double v); - /// Whether the optional attribute WetBulbTemperatureTimeSeries is defined for this IfcFluidFlowProperties - bool hasWetBulbTemperatureTimeSeries() const; - IfcTimeSeries* WetBulbTemperatureTimeSeries() const; - void setWetBulbTemperatureTimeSeries(IfcTimeSeries* v); - /// Whether the optional attribute TemperatureTimeSeries is defined for this IfcFluidFlowProperties - bool hasTemperatureTimeSeries() const; - IfcTimeSeries* TemperatureTimeSeries() const; - void setTemperatureTimeSeries(IfcTimeSeries* v); - /// Whether the optional attribute FlowrateSingleValue is defined for this IfcFluidFlowProperties - bool hasFlowrateSingleValue() const; - IfcDerivedMeasureValue* FlowrateSingleValue() const; - void setFlowrateSingleValue(IfcDerivedMeasureValue* v); - /// Whether the optional attribute FlowConditionSingleValue is defined for this IfcFluidFlowProperties - bool hasFlowConditionSingleValue() const; - double FlowConditionSingleValue() const; - void setFlowConditionSingleValue(double v); - /// Whether the optional attribute VelocitySingleValue is defined for this IfcFluidFlowProperties - bool hasVelocitySingleValue() const; - double VelocitySingleValue() const; - void setVelocitySingleValue(double v); - /// Whether the optional attribute PressureSingleValue is defined for this IfcFluidFlowProperties - bool hasPressureSingleValue() const; - double PressureSingleValue() const; - void setPressureSingleValue(double v); + void Fluid(IfcMaterial* v); + boost::optional< IfcTimeSeries* > PressureTimeSeries() const; + void PressureTimeSeries(boost::optional< IfcTimeSeries* > v); + boost::optional< std::string > UserDefinedPropertySource() const; + void UserDefinedPropertySource(boost::optional< std::string > v); + boost::optional< double > TemperatureSingleValue() const; + void TemperatureSingleValue(boost::optional< double > v); + boost::optional< double > WetBulbTemperatureSingleValue() const; + void WetBulbTemperatureSingleValue(boost::optional< double > v); + boost::optional< IfcTimeSeries* > WetBulbTemperatureTimeSeries() const; + void WetBulbTemperatureTimeSeries(boost::optional< IfcTimeSeries* > v); + boost::optional< IfcTimeSeries* > TemperatureTimeSeries() const; + void TemperatureTimeSeries(boost::optional< IfcTimeSeries* > v); + boost::optional< IfcDerivedMeasureValue* > FlowrateSingleValue() const; + void FlowrateSingleValue(boost::optional< IfcDerivedMeasureValue* > v); + boost::optional< double > FlowConditionSingleValue() const; + void FlowConditionSingleValue(boost::optional< double > v); + boost::optional< double > VelocitySingleValue() const; + void VelocitySingleValue(boost::optional< double > v); + boost::optional< double > PressureSingleValue() const; + void PressureSingleValue(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 19; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_ENTITY; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_ENTITY; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_DOUBLE; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPropertySourceEnum; case 5: return Type::IfcTimeSeries; case 6: return Type::IfcTimeSeries; case 7: return Type::IfcTimeSeries; case 8: return Type::IfcMaterial; case 9: return Type::IfcTimeSeries; case 10: return Type::IfcLabel; case 11: return Type::IfcThermodynamicTemperatureMeasure; case 12: return Type::IfcThermodynamicTemperatureMeasure; case 13: return Type::IfcTimeSeries; case 14: return Type::IfcTimeSeries; case 15: return Type::IfcDerivedMeasureValue; case 16: return Type::IfcPositiveRatioMeasure; case 17: return Type::IfcLinearVelocityMeasure; case 18: return Type::IfcPressureMeasure; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -20506,7 +19616,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFluidFlowProperties (IfcAbstractEntity* e); - IfcFluidFlowProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, IfcDerivedMeasureValue* v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue); + IfcFluidFlowProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, boost::optional< IfcTimeSeries* > v6_FlowConditionTimeSeries, boost::optional< IfcTimeSeries* > v7_VelocityTimeSeries, boost::optional< IfcTimeSeries* > v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, boost::optional< IfcTimeSeries* > v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, boost::optional< IfcTimeSeries* > v14_WetBulbTemperatureTimeSeries, boost::optional< IfcTimeSeries* > v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue* > v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue); typedef IfcTemplatedEntityList< IfcFluidFlowProperties > list; }; /// Definition from IAI: The @@ -20592,7 +19702,7 @@ class IfcFurnitureType : public IfcFurnishingElementType { public: /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; - void setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); + void AssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFurnishingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAssemblyPlaceEnum; } return IfcFurnishingElementType::getArgumentEntity(i); } @@ -20693,21 +19803,19 @@ class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; - void setOverallWidth(double v); + void OverallWidth(double v); /// Total extent of the depth, defined parallel to the y axis of the position coordinate system. double OverallDepth() const; - void setOverallDepth(double v); + void OverallDepth(double v); /// Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system. double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// The fillet between the web and the flange. - double FilletRadius() const; - void setFilletRadius(double v); + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -20775,38 +19883,26 @@ class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; - void setDepth(double v); - /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef - bool hasWidth() const; + void Depth(double v); /// Leg length, see illustration above (= b). Same as the overall width. - double Width() const; - void setWidth(double v); + boost::optional< double > Width() const; + void Width(boost::optional< double > v); /// Constant wall thickness of profile, see illustration above (= ts). double Thickness() const; - void setThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef - bool hasFilletRadius() const; + void Thickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); - /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef - bool hasLegSlope() const; + boost::optional< double > EdgeRadius() const; + void EdgeRadius(boost::optional< double > v); /// Slope of the inner face of each leg of the profile. - double LegSlope() const; - void setLegSlope(double v); - /// Whether the optional attribute CentreOfGravityInX is defined for this IfcLShapeProfileDef - bool hasCentreOfGravityInX() const; - double CentreOfGravityInX() const; - void setCentreOfGravityInX(double v); - /// Whether the optional attribute CentreOfGravityInY is defined for this IfcLShapeProfileDef - bool hasCentreOfGravityInY() const; - double CentreOfGravityInY() const; - void setCentreOfGravityInY(double v); + boost::optional< double > LegSlope() const; + void LegSlope(boost::optional< double > v); + boost::optional< double > CentreOfGravityInX() const; + void CentreOfGravityInX(boost::optional< double > v); + boost::optional< double > CentreOfGravityInY() const; + void CentreOfGravityInY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcPlaneAngleMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -20836,10 +19932,10 @@ class IfcLine : public IfcCurve { public: /// The location of the line. IfcCartesianPoint* Pnt() const; - void setPnt(IfcCartesianPoint* v); + void Pnt(IfcCartesianPoint* v); /// The direction of the line, the magnitude and units of Dir affect the parameterization of the line. IfcVector* Dir() const; - void setDir(IfcVector* v); + void Dir(IfcVector* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; case 1: return Type::IfcVector; } return IfcCurve::getArgumentEntity(i); } @@ -20919,7 +20015,7 @@ class IfcManifoldSolidBrep : public IfcSolidModel { public: /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. IfcClosedShell* Outer() const; - void setOuter(IfcClosedShell* v); + void Outer(IfcClosedShell* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClosedShell; } return IfcSolidModel::getArgumentEntity(i); } @@ -21016,11 +20112,9 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IfcObject : public IfcObjectDefinition { public: - /// Whether the optional attribute ObjectType is defined for this IfcObject - bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - std::string ObjectType() const; - void setObjectType(std::string v); + boost::optional< std::string > ObjectType() const; + void ObjectType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; } return IfcObjectDefinition::getArgumentEntity(i); } @@ -21049,13 +20143,13 @@ class IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; - void setDistance(double v); + void Distance(double v); /// An indication of whether the offset curve self-intersects; this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; } return IfcCurve::getArgumentEntity(i); } @@ -21087,16 +20181,16 @@ class IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; - void setDistance(double v); + void Distance(double v); /// An indication of whether the offset curve self-intersects, this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); /// The direction used to define the direction of the offset curve 3d from the basis curve. IfcDirection* RefDirection() const; - void setRefDirection(IfcDirection* v); + void RefDirection(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; case 3: return Type::IfcDirection; } return IfcCurve::getArgumentEntity(i); } @@ -21144,25 +20238,19 @@ class IfcPermeableCoveringProperties : public IfcPropertySetDefinition { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum OperationType() const; - void setOperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v); + void OperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v); /// Position of this permeable covering panel within the overall window or door type. IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; - void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); - /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties - bool hasFrameDepth() const; + void PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - double FrameDepth() const; - void setFrameDepth(double v); - /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties - bool hasFrameThickness() const; + boost::optional< double > FrameDepth() const; + void FrameDepth(boost::optional< double > v); /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - double FrameThickness() const; - void setFrameThickness(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties - bool hasShapeAspectStyle() const; + boost::optional< double > FrameThickness() const; + void FrameThickness(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPermeableCoveringOperationEnum; case 5: return Type::IfcWindowPanelPositionEnum; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcShapeAspect; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -21172,7 +20260,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermeableCoveringProperties (IfcAbstractEntity* e); - IfcPermeableCoveringProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcPermeableCoveringProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties > list; }; /// Definition from ISO/CD 10303-46:1992: A planar box specifies an arbitrary rectangular box and its location in a two dimensional Cartesian coordinate system. @@ -21186,7 +20274,7 @@ public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. IfcAxis2Placement* Placement() const; - void setPlacement(IfcAxis2Placement* v); + void Placement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis2Placement; } return IfcPlanarExtent::getArgumentEntity(i); } @@ -21399,16 +20487,12 @@ public: /// underlying geometry of the topological items). class IfcProduct : public IfcObject { public: - /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct - bool hasObjectPlacement() const; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. - IfcObjectPlacement* ObjectPlacement() const; - void setObjectPlacement(IfcObjectPlacement* v); - /// Whether the optional attribute Representation is defined for this IfcProduct - bool hasRepresentation() const; + boost::optional< IfcObjectPlacement* > ObjectPlacement() const; + void ObjectPlacement(boost::optional< IfcObjectPlacement* > v); /// Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement. - IfcProductRepresentation* Representation() const; - void setRepresentation(IfcProductRepresentation* v); + boost::optional< IfcProductRepresentation* > Representation() const; + void Representation(boost::optional< IfcProductRepresentation* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcObjectPlacement; case 6: return Type::IfcProductRepresentation; } return IfcObject::getArgumentEntity(i); } @@ -21419,7 +20503,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProduct (IfcAbstractEntity* e); - IfcProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or @@ -21468,18 +20552,14 @@ public: /// There shall only be one project within the exchange context. This is enforced by the global rule IfcSingleProjectInstance. class IfcProject : public IfcObject { public: - /// Whether the optional attribute LongName is defined for this IfcProject - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); - /// Whether the optional attribute Phase is defined for this IfcProject - bool hasPhase() const; - std::string Phase() const; - void setPhase(std::string v); + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); + boost::optional< std::string > Phase() const; + void Phase(boost::optional< std::string > v); IfcTemplatedEntityList< IfcRepresentationContext >::ptr RepresentationContexts() const; - void setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); + void RepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); IfcUnitAssignment* UnitsInContext() const; - void setUnitsInContext(IfcUnitAssignment* v); + void UnitsInContext(IfcUnitAssignment* v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcRepresentationContext; case 8: return Type::IfcUnitAssignment; } return IfcObject::getArgumentEntity(i); } @@ -21504,7 +20584,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectionCurve (IfcAbstractEntity* e); - IfcProjectionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcProjectionCurve (boost::optional< IfcRepresentationItem* > v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcProjectionCurve > list; }; /// IfcPropertySet defines all dynamically extensible @@ -21564,7 +20644,7 @@ class IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; - void setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProperty; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -21597,12 +20677,10 @@ class IfcProxy : public IfcProduct { public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. IfcObjectTypeEnum::IfcObjectTypeEnum ProxyType() const; - void setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v); - /// Whether the optional attribute Tag is defined for this IfcProxy - bool hasTag() const; + void ProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v); /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void Tag(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcObjectTypeEnum; case 8: return Type::IfcLabel; } return IfcProduct::getArgumentEntity(i); } @@ -21612,7 +20690,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProxy (IfcAbstractEntity* e); - IfcProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag); + IfcProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag); typedef IfcTemplatedEntityList< IfcProxy > list; }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. @@ -21639,17 +20717,13 @@ class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; - void setWallThickness(double v); - /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasInnerFilletRadius() const; + void WallThickness(double v); /// Inner corner radius. - double InnerFilletRadius() const; - void setInnerFilletRadius(double v); - /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasOuterFilletRadius() const; + boost::optional< double > InnerFilletRadius() const; + void InnerFilletRadius(boost::optional< double > v); /// Outer corner radius. - double OuterFilletRadius() const; - void setOuterFilletRadius(double v); + boost::optional< double > OuterFilletRadius() const; + void OuterFilletRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; } return IfcRectangleProfileDef::getArgumentEntity(i); } @@ -21754,13 +20828,13 @@ class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; - void setXLength(double v); + void XLength(double v); /// The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. double YLength() const; - void setYLength(double v); + void YLength(double v); /// The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\IfcCsgPrimitive3D.Position.P[2]. double Height() const; - void setHeight(double v); + void Height(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -21792,25 +20866,25 @@ class IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. IfcSurface* BasisSurface() const; - void setBasisSurface(IfcSurface* v); + void BasisSurface(IfcSurface* v); /// First u parametric value. double U1() const; - void setU1(double v); + void U1(double v); /// First v parametric value. double V1() const; - void setV1(double v); + void V1(double v); /// Second u parametric value. double U2() const; - void setU2(double v); + void U2(double v); /// Second v parametric value. double V2() const; - void setV2(double v); + void V2(double v); /// Flag to indicate whether the direction of the first parameter of the trimmed surface agrees with or opposes the sense of u in the basis surface. bool Usense() const; - void setUsense(bool v); + void Usense(bool v); /// Flag to indicate whether the direction of the second parameter of the trimmed surface agrees with or opposes the sense of v in the basis surface. bool Vsense() const; - void setVsense(bool v); + void Vsense(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } @@ -21838,13 +20912,11 @@ class IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); - /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns - bool hasRelatedObjectsType() const; + void RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects. /// IFC2x4 CHANGE  The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. - IfcObjectTypeEnum::IfcObjectTypeEnum RelatedObjectsType() const; - void setRelatedObjectsType(IfcObjectTypeEnum::IfcObjectTypeEnum v); + boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > RelatedObjectsType() const; + void RelatedObjectsType(boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENUMERATION; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObjectDefinition; case 5: return Type::IfcObjectTypeEnum; } return IfcRelationship::getArgumentEntity(i); } @@ -21870,12 +20942,10 @@ class IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. IfcActor* RelatingActor() const; - void setRelatingActor(IfcActor* v); - /// Whether the optional attribute ActingRole is defined for this IfcRelAssignsToActor - bool hasActingRole() const; + void RelatingActor(IfcActor* v); /// Role of the actor played within the context of the assignment to the object(s). - IfcActorRole* ActingRole() const; - void setActingRole(IfcActorRole* v); + boost::optional< IfcActorRole* > ActingRole() const; + void ActingRole(boost::optional< IfcActorRole* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcActor; case 7: return Type::IfcActorRole; } return IfcRelAssigns::getArgumentEntity(i); } @@ -21885,7 +20955,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToActor (IfcAbstractEntity* e); - IfcRelAssignsToActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + IfcRelAssignsToActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, boost::optional< IfcActorRole* > v8_ActingRole); typedef IfcTemplatedEntityList< IfcRelAssignsToActor > list; }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). @@ -21897,7 +20967,7 @@ class IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. IfcControl* RelatingControl() const; - void setRelatingControl(IfcControl* v); + void RelatingControl(IfcControl* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcControl; } return IfcRelAssigns::getArgumentEntity(i); } @@ -21927,7 +20997,7 @@ class IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. IfcGroup* RelatingGroup() const; - void setRelatingGroup(IfcGroup* v); + void RelatingGroup(IfcGroup* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcGroup; } return IfcRelAssigns::getArgumentEntity(i); } @@ -21968,12 +21038,10 @@ public: /// /// IFC2x4 CHANGE Datatype expanded to include IfcProcess and IfcTypeProcess. IfcProcess* RelatingProcess() const; - void setRelatingProcess(IfcProcess* v); - /// Whether the optional attribute QuantityInProcess is defined for this IfcRelAssignsToProcess - bool hasQuantityInProcess() const; + void RelatingProcess(IfcProcess* v); /// Quantity of the object specific for the operation by this process. - IfcMeasureWithUnit* QuantityInProcess() const; - void setQuantityInProcess(IfcMeasureWithUnit* v); + boost::optional< IfcMeasureWithUnit* > QuantityInProcess() const; + void QuantityInProcess(boost::optional< IfcMeasureWithUnit* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcProcess; case 7: return Type::IfcMeasureWithUnit; } return IfcRelAssigns::getArgumentEntity(i); } @@ -21983,7 +21051,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProcess (IfcAbstractEntity* e); - IfcRelAssignsToProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); + IfcRelAssignsToProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, boost::optional< IfcMeasureWithUnit* > v8_QuantityInProcess); typedef IfcTemplatedEntityList< IfcRelAssignsToProcess > list; }; /// The objectified relationshipÿIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: @@ -22000,7 +21068,7 @@ public: /// /// IFC2x4 CHANGE Datatype expanded to include IfcProduct and IfcTypeProduct. IfcProduct* RelatingProduct() const; - void setRelatingProduct(IfcProduct* v); + void RelatingProduct(IfcProduct* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcProduct; } return IfcRelAssigns::getArgumentEntity(i); } @@ -22040,7 +21108,7 @@ public: /// /// IFC2x4 CHANGE Datatype expanded to include IfcResource and IfcTypeResource. IfcResource* RelatingResource() const; - void setRelatingResource(IfcResource* v); + void RelatingResource(IfcResource* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcResource; } return IfcRelAssigns::getArgumentEntity(i); } @@ -22100,7 +21168,7 @@ public: /// /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. IfcTemplatedEntityList< IfcRoot >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcRoot >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcRoot >::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcRoot; } return IfcRelationship::getArgumentEntity(i); } @@ -22117,7 +21185,7 @@ public: class IfcRelAssociatesAppliedValue : public IfcRelAssociates { public: IfcAppliedValue* RelatingAppliedValue() const; - void setRelatingAppliedValue(IfcAppliedValue* v); + void RelatingAppliedValue(IfcAppliedValue* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAppliedValue; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22137,7 +21205,7 @@ class IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. IfcApproval* RelatingApproval() const; - void setRelatingApproval(IfcApproval* v); + void RelatingApproval(IfcApproval* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcApproval; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22184,7 +21252,7 @@ class IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. IfcClassificationNotationSelect* RelatingClassification() const; - void setRelatingClassification(IfcClassificationNotationSelect* v); + void RelatingClassification(IfcClassificationNotationSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcClassificationNotationSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22204,10 +21272,10 @@ class IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. std::string Intent() const; - void setIntent(std::string v); + void Intent(std::string v); /// Reference to constraint that is being applied using this relationship. IfcConstraint* RelatingConstraint() const; - void setRelatingConstraint(IfcConstraint* v); + void RelatingConstraint(IfcConstraint* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLabel; case 6: return Type::IfcConstraint; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22231,7 +21299,7 @@ class IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. IfcDocumentSelect* RelatingDocument() const; - void setRelatingDocument(IfcDocumentSelect* v); + void RelatingDocument(IfcDocumentSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcDocumentSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22255,7 +21323,7 @@ class IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. IfcLibrarySelect* RelatingLibrary() const; - void setRelatingLibrary(IfcLibrarySelect* v); + void RelatingLibrary(IfcLibrarySelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLibrarySelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22366,7 +21434,7 @@ class IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. IfcMaterialSelect* RelatingMaterial() const; - void setRelatingMaterial(IfcMaterialSelect* v); + void RelatingMaterial(IfcMaterialSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcMaterialSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22383,15 +21451,11 @@ public: class IfcRelAssociatesProfileProperties : public IfcRelAssociates { public: IfcProfileProperties* RelatingProfileProperties() const; - void setRelatingProfileProperties(IfcProfileProperties* v); - /// Whether the optional attribute ProfileSectionLocation is defined for this IfcRelAssociatesProfileProperties - bool hasProfileSectionLocation() const; - IfcShapeAspect* ProfileSectionLocation() const; - void setProfileSectionLocation(IfcShapeAspect* v); - /// Whether the optional attribute ProfileOrientation is defined for this IfcRelAssociatesProfileProperties - bool hasProfileOrientation() const; - IfcOrientationSelect* ProfileOrientation() const; - void setProfileOrientation(IfcOrientationSelect* v); + void RelatingProfileProperties(IfcProfileProperties* v); + boost::optional< IfcShapeAspect* > ProfileSectionLocation() const; + void ProfileSectionLocation(boost::optional< IfcShapeAspect* > v); + boost::optional< IfcOrientationSelect* > ProfileOrientation() const; + void ProfileOrientation(boost::optional< IfcOrientationSelect* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcProfileProperties; case 6: return Type::IfcShapeAspect; case 7: return Type::IfcOrientationSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -22401,7 +21465,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesProfileProperties (IfcAbstractEntity* e); - IfcRelAssociatesProfileProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, IfcOrientationSelect* v8_ProfileOrientation); + IfcRelAssociatesProfileProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, boost::optional< IfcShapeAspect* > v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect* > v8_ProfileOrientation); typedef IfcTemplatedEntityList< IfcRelAssociatesProfileProperties > list; }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. @@ -22445,17 +21509,15 @@ public: /// Release 1.0. class IfcRelConnectsElements : public IfcRelConnects { public: - /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements - bool hasConnectionGeometry() const; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). - IfcConnectionGeometry* ConnectionGeometry() const; - void setConnectionGeometry(IfcConnectionGeometry* v); + boost::optional< IfcConnectionGeometry* > ConnectionGeometry() const; + void ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatingElement. IfcElement* RelatingElement() const; - void setRelatingElement(IfcElement* v); + void RelatingElement(IfcElement* v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatedElement. IfcElement* RelatedElement() const; - void setRelatedElement(IfcElement* v); + void RelatedElement(IfcElement* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcConnectionGeometry; case 5: return Type::IfcElement; case 6: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -22465,7 +21527,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsElements (IfcAbstractEntity* e); - IfcRelConnectsElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); + IfcRelConnectsElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; }; /// The @@ -22504,16 +21566,16 @@ class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< int > /*[0:?]*/ RelatingPriorities() const; - void setRelatingPriorities(std::vector< int > /*[0:?]*/ v); + void RelatingPriorities(std::vector< int > /*[0:?]*/ v); /// Priorities for connection. It refers to the layers of the RelatedObject. std::vector< int > /*[0:?]*/ RelatedPriorities() const; - void setRelatedPriorities(std::vector< int > /*[0:?]*/ v); + void RelatedPriorities(std::vector< int > /*[0:?]*/ v); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType() const; - void setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); + void RelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType() const; - void setRelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); + void RelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_VECTOR_INT; case 8: return IfcUtil::Argument_VECTOR_INT; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnectsElements::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcConnectionTypeEnum; case 10: return Type::IfcConnectionTypeEnum; } return IfcRelConnectsElements::getArgumentEntity(i); } @@ -22523,7 +21585,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntity* e); - IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); + IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship @@ -22555,12 +21617,12 @@ class IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. IfcPort* RelatingPort() const; - void setRelatingPort(IfcPort* v); + void RelatingPort(IfcPort* v); /// Reference to an IfcElement, or IfcElementType that has ports assigned. /// /// IFC2x4 CHANGE Data type extended to IfcObjectDefinition to enable elements and element types for the port relationship. IfcElement* RelatedElement() const; - void setRelatedElement(IfcElement* v); + void RelatedElement(IfcElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPort; case 5: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -22590,15 +21652,13 @@ class IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. IfcPort* RelatingPort() const; - void setRelatingPort(IfcPort* v); + void RelatingPort(IfcPort* v); /// Reference to the second port that is connected by the objectified relationship. IfcPort* RelatedPort() const; - void setRelatedPort(IfcPort* v); - /// Whether the optional attribute RealizingElement is defined for this IfcRelConnectsPorts - bool hasRealizingElement() const; + void RelatedPort(IfcPort* v); /// Defines the element that realizes a port connection relationship. - IfcElement* RealizingElement() const; - void setRealizingElement(IfcElement* v); + boost::optional< IfcElement* > RealizingElement() const; + void RealizingElement(boost::optional< IfcElement* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPort; case 5: return Type::IfcPort; case 6: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -22608,7 +21668,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPorts (IfcAbstractEntity* e); - IfcRelConnectsPorts (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); + IfcRelConnectsPorts (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, boost::optional< IfcElement* > v7_RealizingElement); typedef IfcTemplatedEntityList< IfcRelConnectsPorts > list; }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. @@ -22618,10 +21678,10 @@ class IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. IfcStructuralActivityAssignmentSelect* RelatingElement() const; - void setRelatingElement(IfcStructuralActivityAssignmentSelect* v); + void RelatingElement(IfcStructuralActivityAssignmentSelect* v); /// Reference to a structural activity which is acting upon the specified structural item or element. IfcStructuralActivity* RelatedStructuralActivity() const; - void setRelatedStructuralActivity(IfcStructuralActivity* v); + void RelatedStructuralActivity(IfcStructuralActivity* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcStructuralActivityAssignmentSelect; case 5: return Type::IfcStructuralActivity; } return IfcRelConnects::getArgumentEntity(i); } @@ -22638,9 +21698,9 @@ public: class IfcRelConnectsStructuralElement : public IfcRelConnects { public: IfcElement* RelatingElement() const; - void setRelatingElement(IfcElement* v); + void RelatingElement(IfcElement* v); IfcStructuralMember* RelatedStructuralMember() const; - void setRelatedStructuralMember(IfcStructuralMember* v); + void RelatedStructuralMember(IfcStructuralMember* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcStructuralMember; } return IfcRelConnects::getArgumentEntity(i); } @@ -22681,30 +21741,22 @@ class IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. IfcStructuralMember* RelatingStructuralMember() const; - void setRelatingStructuralMember(IfcStructuralMember* v); + void RelatingStructuralMember(IfcStructuralMember* v); /// Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member. IfcStructuralConnection* RelatedStructuralConnection() const; - void setRelatedStructuralConnection(IfcStructuralConnection* v); - /// Whether the optional attribute AppliedCondition is defined for this IfcRelConnectsStructuralMember - bool hasAppliedCondition() const; + void RelatedStructuralConnection(IfcStructuralConnection* v); /// Conditions which define the connections properties. Connection conditions are often called "release" but are not only used to define mechanisms like hinges but also rigid, elastic, and other conditions. - IfcBoundaryCondition* AppliedCondition() const; - void setAppliedCondition(IfcBoundaryCondition* v); - /// Whether the optional attribute AdditionalConditions is defined for this IfcRelConnectsStructuralMember - bool hasAdditionalConditions() const; + boost::optional< IfcBoundaryCondition* > AppliedCondition() const; + void AppliedCondition(boost::optional< IfcBoundaryCondition* > v); /// Describes additional connection properties. - IfcStructuralConnectionCondition* AdditionalConditions() const; - void setAdditionalConditions(IfcStructuralConnectionCondition* v); - /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember - bool hasSupportedLength() const; + boost::optional< IfcStructuralConnectionCondition* > AdditionalConditions() const; + void AdditionalConditions(boost::optional< IfcStructuralConnectionCondition* > v); /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - double SupportedLength() const; - void setSupportedLength(double v); - /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember - bool hasConditionCoordinateSystem() const; + boost::optional< double > SupportedLength() const; + void SupportedLength(boost::optional< double > v); /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. - IfcAxis2Placement3D* ConditionCoordinateSystem() const; - void setConditionCoordinateSystem(IfcAxis2Placement3D* v); + boost::optional< IfcAxis2Placement3D* > ConditionCoordinateSystem() const; + void ConditionCoordinateSystem(boost::optional< IfcAxis2Placement3D* > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcStructuralMember; case 5: return Type::IfcStructuralConnection; case 6: return Type::IfcBoundaryCondition; case 7: return Type::IfcStructuralConnectionCondition; case 8: return Type::IfcLengthMeasure; case 9: return Type::IfcAxis2Placement3D; } return IfcRelConnects::getArgumentEntity(i); } @@ -22714,7 +21766,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralMember (IfcAbstractEntity* e); - IfcRelConnectsStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember > list; }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). @@ -22738,7 +21790,7 @@ class IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). IfcConnectionGeometry* ConnectionConstraint() const; - void setConnectionConstraint(IfcConnectionGeometry* v); + void ConnectionConstraint(IfcConnectionGeometry* v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENTITY; } return IfcRelConnectsStructuralMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcConnectionGeometry; } return IfcRelConnectsStructuralMember::getArgumentEntity(i); } @@ -22748,7 +21800,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithEccentricity (IfcAbstractEntity* e); - IfcRelConnectsWithEccentricity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: @@ -22778,12 +21830,10 @@ class IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. IfcTemplatedEntityList< IfcElement >::ptr RealizingElements() const; - void setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v); - /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements - bool hasConnectionType() const; + void RealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v); /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - std::string ConnectionType() const; - void setConnectionType(std::string v); + boost::optional< std::string > ConnectionType() const; + void ConnectionType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnectsElements::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcElement; case 8: return Type::IfcLabel; } return IfcRelConnectsElements::getArgumentEntity(i); } @@ -22793,7 +21843,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithRealizingElements (IfcAbstractEntity* e); - IfcRelConnectsWithRealizingElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, @@ -22864,10 +21914,10 @@ public: /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; - void setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); + void RelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); /// Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure. IfcSpatialStructureElement* RelatingStructure() const; - void setRelatingStructure(IfcSpatialStructureElement* v); + void RelatingStructure(IfcSpatialStructureElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProduct; case 5: return Type::IfcSpatialStructureElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -22902,10 +21952,10 @@ public: /// /// IFC2x4 CHANGE: The attribute type has been changed from IfcElement to IfcBuildingElement. IfcElement* RelatingBuildingElement() const; - void setRelatingBuildingElement(IfcElement* v); + void RelatingBuildingElement(IfcElement* v); /// Relationship to the set of coverings at this element. IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; - void setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); + void RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcCovering; } return IfcRelConnects::getArgumentEntity(i); } @@ -22947,10 +21997,10 @@ public: class IfcRelCoversSpaces : public IfcRelConnects { public: IfcSpace* RelatedSpace() const; - void setRelatedSpace(IfcSpace* v); + void RelatedSpace(IfcSpace* v); /// Relationship to the set of coverings covering this space. IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; - void setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); + void RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSpace; case 5: return Type::IfcCovering; } return IfcRelConnects::getArgumentEntity(i); } @@ -22996,9 +22046,9 @@ public: class IfcRelDecomposes : public IfcRelationship { public: IfcObjectDefinition* RelatingObject() const; - void setRelatingObject(IfcObjectDefinition* v); + void RelatingObject(IfcObjectDefinition* v); IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObjectDefinition; case 5: return Type::IfcObjectDefinition; } return IfcRelationship::getArgumentEntity(i); } @@ -23041,7 +22091,7 @@ public: class IfcRelDefines : public IfcRelationship { public: IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObject; } return IfcRelationship::getArgumentEntity(i); } @@ -23073,7 +22123,7 @@ class IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the property set definition for that object or set of objects. IfcPropertySetDefinition* RelatingPropertyDefinition() const; - void setRelatingPropertyDefinition(IfcPropertySetDefinition* v); + void RelatingPropertyDefinition(IfcPropertySetDefinition* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcPropertySetDefinition; } return IfcRelDefines::getArgumentEntity(i); } @@ -23161,7 +22211,7 @@ class IfcRelDefinesByType : public IfcRelDefines { public: /// Reference to the type (or style) information for that object or set of objects. IfcTypeObject* RelatingType() const; - void setRelatingType(IfcTypeObject* v); + void RelatingType(IfcTypeObject* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcTypeObject; } return IfcRelDefines::getArgumentEntity(i); } @@ -23187,12 +22237,12 @@ class IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. IfcOpeningElement* RelatingOpeningElement() const; - void setRelatingOpeningElement(IfcOpeningElement* v); + void RelatingOpeningElement(IfcOpeningElement* v); /// Reference to building element that occupies fully or partially the associated opening. /// /// IFC2x PLATFORM CHANGE: The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. IfcElement* RelatedBuildingElement() const; - void setRelatedBuildingElement(IfcElement* v); + void RelatedBuildingElement(IfcElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcOpeningElement; case 5: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -23216,10 +22266,10 @@ class IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. IfcTemplatedEntityList< IfcDistributionControlElement >::ptr RelatedControlElements() const; - void setRelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v); + void RelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v); /// Relationship to a distribution flow element IfcDistributionFlowElement* RelatingFlowElement() const; - void setRelatingFlowElement(IfcDistributionFlowElement* v); + void RelatingFlowElement(IfcDistributionFlowElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDistributionControlElement; case 5: return Type::IfcDistributionFlowElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -23235,22 +22285,16 @@ public: class IfcRelInteractionRequirements : public IfcRelConnects { public: - /// Whether the optional attribute DailyInteraction is defined for this IfcRelInteractionRequirements - bool hasDailyInteraction() const; - double DailyInteraction() const; - void setDailyInteraction(double v); - /// Whether the optional attribute ImportanceRating is defined for this IfcRelInteractionRequirements - bool hasImportanceRating() const; - double ImportanceRating() const; - void setImportanceRating(double v); - /// Whether the optional attribute LocationOfInteraction is defined for this IfcRelInteractionRequirements - bool hasLocationOfInteraction() const; - IfcSpatialStructureElement* LocationOfInteraction() const; - void setLocationOfInteraction(IfcSpatialStructureElement* v); + boost::optional< double > DailyInteraction() const; + void DailyInteraction(boost::optional< double > v); + boost::optional< double > ImportanceRating() const; + void ImportanceRating(boost::optional< double > v); + boost::optional< IfcSpatialStructureElement* > LocationOfInteraction() const; + void LocationOfInteraction(boost::optional< IfcSpatialStructureElement* > v); IfcSpaceProgram* RelatedSpaceProgram() const; - void setRelatedSpaceProgram(IfcSpaceProgram* v); + void RelatedSpaceProgram(IfcSpaceProgram* v); IfcSpaceProgram* RelatingSpaceProgram() const; - void setRelatingSpaceProgram(IfcSpaceProgram* v); + void RelatingSpaceProgram(IfcSpaceProgram* v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcCountMeasure; case 5: return Type::IfcNormalisedRatioMeasure; case 6: return Type::IfcSpatialStructureElement; case 7: return Type::IfcSpaceProgram; case 8: return Type::IfcSpaceProgram; } return IfcRelConnects::getArgumentEntity(i); } @@ -23260,7 +22304,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelInteractionRequirements (IfcAbstractEntity* e); - IfcRelInteractionRequirements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram); + IfcRelInteractionRequirements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, boost::optional< IfcSpatialStructureElement* > v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram); typedef IfcTemplatedEntityList< IfcRelInteractionRequirements > list; }; /// The nesting relationship @@ -23314,14 +22358,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelOccupiesSpaces (IfcAbstractEntity* e); - IfcRelOccupiesSpaces (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + IfcRelOccupiesSpaces (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, boost::optional< IfcActorRole* > v8_ActingRole); typedef IfcTemplatedEntityList< IfcRelOccupiesSpaces > list; }; class IfcRelOverridesProperties : public IfcRelDefinesByProperties { public: IfcTemplatedEntityList< IfcProperty >::ptr OverridingProperties() const; - void setOverridingProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void OverridingProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelDefinesByProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcProperty; } return IfcRelDefinesByProperties::getArgumentEntity(i); } @@ -23370,10 +22414,10 @@ class IfcRelProjectsElement : public IfcRelConnects { public: /// Element at which a projection is created by the associated IfcProjectionElement. IfcElement* RelatingElement() const; - void setRelatingElement(IfcElement* v); + void RelatingElement(IfcElement* v); /// Reference to the IfcFeatureElementAddition that defines an addition to the volume of the element, by using a Boolean addition operation. An example is a projection at the associated element. IfcFeatureElementAddition* RelatedFeatureElement() const; - void setRelatedFeatureElement(IfcFeatureElementAddition* v); + void RelatedFeatureElement(IfcFeatureElementAddition* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcFeatureElementAddition; } return IfcRelConnects::getArgumentEntity(i); } @@ -23440,12 +22484,12 @@ 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. IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; - void setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); + void RelatedElements(IfcTemplatedEntityList< IfcProduct >::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. IfcSpatialStructureElement* RelatingStructure() const; - void setRelatingStructure(IfcSpatialStructureElement* v); + void RelatingStructure(IfcSpatialStructureElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProduct; case 5: return Type::IfcSpatialStructureElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -23531,18 +22575,18 @@ class IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. IfcProcess* RelatingProcess() const; - void setRelatingProcess(IfcProcess* v); + void RelatingProcess(IfcProcess* v); /// Reference to the process, that is the successor. IfcProcess* RelatedProcess() const; - void setRelatedProcess(IfcProcess* v); + void RelatedProcess(IfcProcess* v); /// Time duration of the sequence, it is the time lag between the /// predecessor and the successor as specified by the /// SequenceType. double TimeLag() const; - void setTimeLag(double v); + void TimeLag(double v); /// The way in which the time lag applies to the sequence. IfcSequenceEnum::IfcSequenceEnum SequenceType() const; - void setSequenceType(IfcSequenceEnum::IfcSequenceEnum v); + void SequenceType(IfcSequenceEnum::IfcSequenceEnum v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProcess; case 5: return Type::IfcProcess; case 6: return Type::IfcTimeMeasure; case 7: return Type::IfcSequenceEnum; } return IfcRelConnects::getArgumentEntity(i); } @@ -23580,14 +22624,14 @@ class IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. IfcSystem* RelatingSystem() const; - void setRelatingSystem(IfcSystem* v); + void RelatingSystem(IfcSystem* v); /// Spatial structure elements (including site, building, storeys) that are serviced by the system. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. /// /// IFC2x Edition 4 CHANGE  The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr RelatedBuildings() const; - void setRelatedBuildings(IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v); + void RelatedBuildings(IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSystem; case 5: return Type::IfcSpatialStructureElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -23766,29 +22810,25 @@ class IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. IfcSpace* RelatingSpace() const; - void setRelatingSpace(IfcSpace* v); - /// Whether the optional attribute RelatedBuildingElement is defined for this IfcRelSpaceBoundary - bool hasRelatedBuildingElement() const; + void RelatingSpace(IfcSpace* v); /// Reference to Building Element, that defines the Space Boundaries. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. /// /// IFC2x4 CHANGE  The attribute has been changed to be mandatory. - IfcElement* RelatedBuildingElement() const; - void setRelatedBuildingElement(IfcElement* v); - /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary - bool hasConnectionGeometry() const; + boost::optional< IfcElement* > RelatedBuildingElement() const; + void RelatedBuildingElement(boost::optional< IfcElement* > v); /// Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. - IfcConnectionGeometry* ConnectionGeometry() const; - void setConnectionGeometry(IfcConnectionGeometry* v); + boost::optional< IfcConnectionGeometry* > ConnectionGeometry() const; + void ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v); /// Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual). IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary() const; - void setPhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v); + void PhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v); /// Defines, whether the Space Boundary is internal (Internal), or external, i.e. adjacent to open space (that can be an partially enclosed space, such as terrace (External). IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InternalOrExternalBoundary() const; - void setInternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); + void InternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSpace; case 5: return Type::IfcElement; case 6: return Type::IfcConnectionGeometry; case 7: return Type::IfcPhysicalOrVirtualEnum; case 8: return Type::IfcInternalOrExternalEnum; } return IfcRelConnects::getArgumentEntity(i); } @@ -23798,7 +22838,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary (IfcAbstractEntity* e); - IfcRelSpaceBoundary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, boost::optional< IfcElement* > v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary > list; }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. @@ -23811,9 +22851,9 @@ public: class IfcRelVoidsElement : public IfcRelConnects { public: IfcElement* RelatingBuildingElement() const; - void setRelatingBuildingElement(IfcElement* v); + void RelatingBuildingElement(IfcElement* v); IfcFeatureElementSubtraction* RelatedOpeningElement() const; - void setRelatedOpeningElement(IfcFeatureElementSubtraction* v); + void RelatedOpeningElement(IfcFeatureElementSubtraction* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcFeatureElementSubtraction; } return IfcRelConnects::getArgumentEntity(i); } @@ -23934,10 +22974,10 @@ class IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. IfcAxis1Placement* Axis() const; - void setAxis(IfcAxis1Placement* v); + void Axis(IfcAxis1Placement* v); /// The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. double Angle() const; - void setAngle(double v); + void Angle(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis1Placement; case 3: return Type::IfcPlaneAngleMeasure; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -24019,10 +23059,10 @@ class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; - void setHeight(double v); + void Height(double v); /// The radius of the cone at the base. double BottomRadius() const; - void setBottomRadius(double v); + void BottomRadius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -24120,10 +23160,10 @@ class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; - void setHeight(double v); + void Height(double v); /// The radius of the cylinder. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -24212,16 +23252,14 @@ public: /// Figure 62 — Spatial structure element composition class IfcSpatialStructureElement : public IfcProduct { public: - /// Whether the optional attribute LongName is defined for this IfcSpatialStructureElement - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// /// IFC2x4 CHANGE  /// Attribute made optional. IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType() const; - void setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v); + void CompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; case 8: return Type::IfcElementCompositionEnum; } return IfcProduct::getArgumentEntity(i); } @@ -24234,7 +23272,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElement (IfcAbstractEntity* e); - IfcSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType); + IfcSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType); typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type @@ -24339,7 +23377,7 @@ class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -24451,7 +23489,7 @@ public: /// /// In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity. IfcStructuralLoad* AppliedLoad() const; - void setAppliedLoad(IfcStructuralLoad* v); + void AppliedLoad(IfcStructuralLoad* v); /// Indicates whether the load directions refer to the global coordinate system (global to /// the analysis model, i.e. as established by IfcStructuralAnalysisModel.SharedPlacement) /// or to the local coordinate system (local to the activity or connected item, as established by @@ -24470,7 +23508,7 @@ public: /// is to be taken as coordinates which are local to individual structural items and activities, /// as established by subclass-specific geometry use definitions. IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal() const; - void setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v); + void GlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcStructuralLoad; case 8: return Type::IfcGlobalOrLocalEnum; } return IfcProduct::getArgumentEntity(i); } @@ -24481,7 +23519,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralActivity (IfcAbstractEntity* e); - IfcStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralActivity > list; }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). @@ -24583,7 +23621,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralItem (IfcAbstractEntity* e); - IfcStructuralItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralItem > list; }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. @@ -24603,7 +23641,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralMember (IfcAbstractEntity* e); - IfcStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a @@ -24638,7 +23676,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralReaction (IfcAbstractEntity* e); - IfcStructuralReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralReaction > list; }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. @@ -24665,12 +23703,10 @@ class IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v); - /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember - bool hasThickness() const; + void PredefinedType(IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v); /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - double Thickness() const; - void setThickness(double v); + boost::optional< double > Thickness() const; + void Thickness(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; } return IfcStructuralMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcStructuralSurfaceTypeEnum; case 8: return Type::IfcPositiveLengthMeasure; } return IfcStructuralMember::getArgumentEntity(i); } @@ -24680,7 +23716,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMember (IfcAbstractEntity* e); - IfcStructuralSurfaceMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); + IfcStructuralSurfaceMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember > list; }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. @@ -24704,9 +23740,9 @@ public: class IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: std::vector< double > /*[2:?]*/ SubsequentThickness() const; - void setSubsequentThickness(std::vector< double > /*[2:?]*/ v); + void SubsequentThickness(std::vector< double > /*[2:?]*/ v); IfcShapeAspect* VaryingThicknessLocation() const; - void setVaryingThicknessLocation(IfcShapeAspect* v); + void VaryingThicknessLocation(IfcShapeAspect* v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_VECTOR_DOUBLE; case 10: return IfcUtil::Argument_ENTITY; } return IfcStructuralSurfaceMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcShapeAspect; } return IfcStructuralSurfaceMember::getArgumentEntity(i); } @@ -24716,7 +23752,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMemberVarying (IfcAbstractEntity* e); - IfcStructuralSurfaceMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation); + IfcStructuralSurfaceMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; }; @@ -24800,20 +23836,20 @@ class IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. IfcCurve* Directrix() const; - void setDirectrix(IfcCurve* v); + void Directrix(IfcCurve* v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double StartParam() const; - void setStartParam(double v); + void StartParam(double v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. double EndParam() const; - void setEndParam(double v); + void EndParam(double v); /// The surface containing the Directrix. IfcSurface* ReferenceSurface() const; - void setReferenceSurface(IfcSurface* v); + void ReferenceSurface(IfcSurface* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_ENTITY; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::IfcSurface; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -24843,10 +23879,10 @@ class IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. IfcDirection* ExtrudedDirection() const; - void setExtrudedDirection(IfcDirection* v); + void ExtrudedDirection(IfcDirection* v); /// The depth of the extrusion, it determines the parameterization. double Depth() const; - void setDepth(double v); + void Depth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDirection; case 3: return Type::IfcLengthMeasure; } return IfcSweptSurface::getArgumentEntity(i); } @@ -24880,7 +23916,7 @@ class IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. IfcAxis1Placement* AxisPosition() const; - void setAxisPosition(IfcAxis1Placement* v); + void AxisPosition(IfcAxis1Placement* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcSweptSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis1Placement; } return IfcSweptSurface::getArgumentEntity(i); } @@ -25185,26 +24221,22 @@ public: class IfcTask : public IfcProcess { public: std::string TaskId() const; - void setTaskId(std::string v); - /// Whether the optional attribute Status is defined for this IfcTask - bool hasStatus() const; + void TaskId(std::string v); /// Current status of the task. /// /// NOTE: Particular values for status are not /// specified, these should be determined and agreed by local /// usage. Examples of possible status values include 'Not Yet /// Started', 'Started', 'Completed'. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute WorkMethod is defined for this IfcTask - bool hasWorkMethod() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// The method of work used in carrying out a task. /// /// NOTE: This attribute should /// not be used if the work method is specified for the /// IfcTaskType - std::string WorkMethod() const; - void setWorkMethod(std::string v); + boost::optional< std::string > WorkMethod() const; + void WorkMethod(boost::optional< std::string > v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). /// @@ -25213,13 +24245,11 @@ public: /// duration. As such, it represents a singular point in /// time. bool IsMilestone() const; - void setIsMilestone(bool v); - /// Whether the optional attribute Priority is defined for this IfcTask - bool hasPriority() const; + void IsMilestone(bool v); /// A value that indicates the relative priority of the task (in /// comparison to the priorities of other tasks). - int Priority() const; - void setPriority(int v); + boost::optional< int > Priority() const; + void Priority(boost::optional< int > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_BOOL; case 9: return IfcUtil::Argument_INT; } return IfcProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcLabel; case 7: return Type::IfcLabel; case 8: return Type::UNDEFINED; case 9: return Type::UNDEFINED; } return IfcProcess::getArgumentEntity(i); } @@ -25299,7 +24329,7 @@ class IfcTransportElementType : public IfcElementType { public: /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); + void PredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTransportElementTypeEnum; } return IfcElementType::getArgumentEntity(i); } @@ -25331,7 +24361,7 @@ class IfcActor : public IfcObject { public: /// Information about the actor. IfcActorSelect* TheActor() const; - void setTheActor(IfcActorSelect* v); + void TheActor(IfcActorSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcActorSelect; } return IfcObject::getArgumentEntity(i); } @@ -25530,7 +24560,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotation (IfcAbstractEntity* e); - IfcAnnotation (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcAnnotation (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcAnnotation > list; }; /// IfcAsymmetricIShapeProfileDef @@ -25574,21 +24604,15 @@ class IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { public: /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. double TopFlangeWidth() const; - void setTopFlangeWidth(double v); - /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeThickness() const; + void TopFlangeWidth(double v); /// Flange thickness of the top flange of the I-shape. - double TopFlangeThickness() const; - void setTopFlangeThickness(double v); - /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeFilletRadius() const; + boost::optional< double > TopFlangeThickness() const; + void TopFlangeThickness(boost::optional< double > v); /// The fillet between the web and the top flange of the I-shape. - double TopFlangeFilletRadius() const; - void setTopFlangeFilletRadius(double v); - /// Whether the optional attribute CentreOfGravityInY is defined for this IfcAsymmetricIShapeProfileDef - bool hasCentreOfGravityInY() const; - double CentreOfGravityInY() const; - void setCentreOfGravityInY(double v); + boost::optional< double > TopFlangeFilletRadius() const; + void TopFlangeFilletRadius(boost::optional< double > v); + boost::optional< double > CentreOfGravityInY() const; + void CentreOfGravityInY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcIShapeProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; } return IfcIShapeProfileDef::getArgumentEntity(i); } @@ -25702,13 +24726,13 @@ class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; - void setXLength(double v); + void XLength(double v); /// The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. double YLength() const; - void setYLength(double v); + void YLength(double v); /// The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. double ZLength() const; - void setZLength(double v); + void ZLength(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -25943,21 +24967,15 @@ public: /// constituting elements. class IfcBuilding : public IfcSpatialStructureElement { public: - /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding - bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - double ElevationOfRefHeight() const; - void setElevationOfRefHeight(double v); - /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding - bool hasElevationOfTerrain() const; + boost::optional< double > ElevationOfRefHeight() const; + void ElevationOfRefHeight(boost::optional< double > v); /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - double ElevationOfTerrain() const; - void setElevationOfTerrain(double v); - /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding - bool hasBuildingAddress() const; + boost::optional< double > ElevationOfTerrain() const; + void ElevationOfTerrain(boost::optional< double > v); /// Address given to the building for postal purposes. - IfcPostalAddress* BuildingAddress() const; - void setBuildingAddress(IfcPostalAddress* v); + boost::optional< IfcPostalAddress* > BuildingAddress() const; + void BuildingAddress(boost::optional< IfcPostalAddress* > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_ENTITY; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLengthMeasure; case 10: return Type::IfcLengthMeasure; case 11: return Type::IfcPostalAddress; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -25967,7 +24985,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuilding (IfcAbstractEntity* e); - IfcBuilding (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); + IfcBuilding (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, boost::optional< IfcPostalAddress* > v12_BuildingAddress); typedef IfcTemplatedEntityList< IfcBuilding > list; }; /// Definition from IAI: The element type @@ -26192,11 +25210,9 @@ public: /// independently from its constituting elements. class IfcBuildingStorey : public IfcSpatialStructureElement { public: - /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey - bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - double Elevation() const; - void setElevation(double v); + boost::optional< double > Elevation() const; + void Elevation(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLengthMeasure; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -26206,7 +25222,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingStorey (IfcAbstractEntity* e); - IfcBuildingStorey (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_Elevation); + IfcBuildingStorey (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_Elevation); typedef IfcTemplatedEntityList< IfcBuildingStorey > list; }; /// IfcCircleHollowProfileDef @@ -26231,7 +25247,7 @@ class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; - void setWallThickness(double v); + void WallThickness(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCircleProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; } return IfcCircleProfileDef::getArgumentEntity(i); } @@ -26346,7 +25362,7 @@ class IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; - void setPredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v); + void PredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcColumnTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -26429,10 +25445,10 @@ class IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr Segments() const; - void setSegments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v); + void Segments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v); /// Indication of whether the curve intersects itself or not; this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurveSegment; case 1: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -26454,7 +25470,7 @@ class IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." IfcAxis2Placement* Position() const; - void setPosition(IfcAxis2Placement* v); + void Position(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement; } return IfcCurve::getArgumentEntity(i); } @@ -26541,23 +25557,15 @@ public: /// Figure 192 — Construction resource baseline use class IfcConstructionResource : public IfcResource { public: - /// Whether the optional attribute ResourceIdentifier is defined for this IfcConstructionResource - bool hasResourceIdentifier() const; - std::string ResourceIdentifier() const; - void setResourceIdentifier(std::string v); - /// Whether the optional attribute ResourceGroup is defined for this IfcConstructionResource - bool hasResourceGroup() const; - std::string ResourceGroup() const; - void setResourceGroup(std::string v); - /// Whether the optional attribute ResourceConsumption is defined for this IfcConstructionResource - bool hasResourceConsumption() const; + boost::optional< std::string > ResourceIdentifier() const; + void ResourceIdentifier(boost::optional< std::string > v); + boost::optional< std::string > ResourceGroup() const; + void ResourceGroup(boost::optional< std::string > v); /// Indicates how the resource is consumed or occupied during its use in a process. Production-based consumption is indicated by CONSUMED, PARTIALLYCONSUMED, or NOTCONSUMED, where QuantityProduced refers to a quantity on the IfcProduct to which the assigned IfcProcess is assigned. Duration-based occupation is indicated by OCCUPIED, PARTIALLYOCCUPIED, or NOTOCCUPIED, where QuantityProduced refers to a quantity on the IfcProcess to which the resource is assigned. - IfcResourceConsumptionEnum::IfcResourceConsumptionEnum ResourceConsumption() const; - void setResourceConsumption(IfcResourceConsumptionEnum::IfcResourceConsumptionEnum v); - /// Whether the optional attribute BaseQuantity is defined for this IfcConstructionResource - bool hasBaseQuantity() const; - IfcMeasureWithUnit* BaseQuantity() const; - void setBaseQuantity(IfcMeasureWithUnit* v); + boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > ResourceConsumption() const; + void ResourceConsumption(boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v); + boost::optional< IfcMeasureWithUnit* > BaseQuantity() const; + void BaseQuantity(boost::optional< IfcMeasureWithUnit* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENTITY; } return IfcResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcLabel; case 7: return Type::IfcResourceConsumptionEnum; case 8: return Type::IfcMeasureWithUnit; } return IfcResource::getArgumentEntity(i); } @@ -26567,7 +25575,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionResource (IfcAbstractEntity* e); - IfcConstructionResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcConstructionResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionResource > list; }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. @@ -26670,23 +25678,15 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcCostSchedule : public IfcControl { public: - /// Whether the optional attribute SubmittedBy is defined for this IfcCostSchedule - bool hasSubmittedBy() const; - IfcActorSelect* SubmittedBy() const; - void setSubmittedBy(IfcActorSelect* v); - /// Whether the optional attribute PreparedBy is defined for this IfcCostSchedule - bool hasPreparedBy() const; - IfcActorSelect* PreparedBy() const; - void setPreparedBy(IfcActorSelect* v); - /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule - bool hasSubmittedOn() const; + boost::optional< IfcActorSelect* > SubmittedBy() const; + void SubmittedBy(boost::optional< IfcActorSelect* > v); + boost::optional< IfcActorSelect* > PreparedBy() const; + void PreparedBy(boost::optional< IfcActorSelect* > v); /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect* SubmittedOn() const; - void setSubmittedOn(IfcDateTimeSelect* v); - /// Whether the optional attribute Status is defined for this IfcCostSchedule - bool hasStatus() const; + boost::optional< IfcDateTimeSelect* > SubmittedOn() const; + void SubmittedOn(boost::optional< IfcDateTimeSelect* > v); /// The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: /// /// PLANNED @@ -26694,26 +25694,22 @@ public: /// AGREED /// ISSUED /// STARTED - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute TargetUsers is defined for this IfcCostSchedule - bool hasTargetUsers() const; - IfcEntityList::ptr TargetUsers() const; - void setTargetUsers(IfcEntityList::ptr v); - /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule - bool hasUpdateDate() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); + boost::optional< IfcEntityList::ptr > TargetUsers() const; + void TargetUsers(boost::optional< IfcEntityList::ptr > v); /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect* UpdateDate() const; - void setUpdateDate(IfcDateTimeSelect* v); + boost::optional< IfcDateTimeSelect* > UpdateDate() const; + void UpdateDate(boost::optional< IfcDateTimeSelect* > v); std::string ID() const; - void setID(std::string v); + void ID(std::string v); /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum PredefinedType() const; - void setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v); + void PredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcActorSelect; case 6: return Type::IfcActorSelect; case 7: return Type::IfcDateTimeSelect; case 8: return Type::IfcLabel; case 9: return Type::IfcActorSelect; case 10: return Type::IfcDateTimeSelect; case 11: return Type::IfcIdentifier; case 12: return Type::IfcCostScheduleTypeEnum; } return IfcControl::getArgumentEntity(i); } @@ -26723,7 +25719,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostSchedule (IfcAbstractEntity* e); - IfcCostSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_SubmittedBy, IfcActorSelect* v7_PreparedBy, IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType); + IfcCostSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcActorSelect* > v6_SubmittedBy, boost::optional< IfcActorSelect* > v7_PreparedBy, boost::optional< IfcDateTimeSelect* > v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, boost::optional< IfcDateTimeSelect* > v11_UpdateDate, std::string v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType); typedef IfcTemplatedEntityList< IfcCostSchedule > list; }; /// Definition from IAI: The element type @@ -26809,7 +25805,7 @@ class IfcCoveringType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v); + void PredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCoveringTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -26843,7 +25839,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCrewResource (IfcAbstractEntity* e); - IfcCrewResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcCrewResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) @@ -26871,7 +25867,7 @@ class IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; - void setPredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v); + void PredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCurtainWallTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -27023,32 +26019,22 @@ public: class IfcElectricalBaseProperties : public IfcEnergyProperties { public: - /// Whether the optional attribute ElectricCurrentType is defined for this IfcElectricalBaseProperties - bool hasElectricCurrentType() const; - IfcElectricCurrentEnum::IfcElectricCurrentEnum ElectricCurrentType() const; - void setElectricCurrentType(IfcElectricCurrentEnum::IfcElectricCurrentEnum v); + boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > ElectricCurrentType() const; + void ElectricCurrentType(boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v); double InputVoltage() const; - void setInputVoltage(double v); + void InputVoltage(double v); double InputFrequency() const; - void setInputFrequency(double v); - /// Whether the optional attribute FullLoadCurrent is defined for this IfcElectricalBaseProperties - bool hasFullLoadCurrent() const; - double FullLoadCurrent() const; - void setFullLoadCurrent(double v); - /// Whether the optional attribute MinimumCircuitCurrent is defined for this IfcElectricalBaseProperties - bool hasMinimumCircuitCurrent() const; - double MinimumCircuitCurrent() const; - void setMinimumCircuitCurrent(double v); - /// Whether the optional attribute MaximumPowerInput is defined for this IfcElectricalBaseProperties - bool hasMaximumPowerInput() const; - double MaximumPowerInput() const; - void setMaximumPowerInput(double v); - /// Whether the optional attribute RatedPowerInput is defined for this IfcElectricalBaseProperties - bool hasRatedPowerInput() const; - double RatedPowerInput() const; - void setRatedPowerInput(double v); + void InputFrequency(double v); + boost::optional< double > FullLoadCurrent() const; + void FullLoadCurrent(boost::optional< double > v); + boost::optional< double > MinimumCircuitCurrent() const; + void MinimumCircuitCurrent(boost::optional< double > v); + boost::optional< double > MaximumPowerInput() const; + void MaximumPowerInput(boost::optional< double > v); + boost::optional< double > RatedPowerInput() const; + void RatedPowerInput(boost::optional< double > v); int InputPhase() const; - void setInputPhase(int v); + void InputPhase(int v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_INT; } return IfcEnergyProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcElectricCurrentEnum; case 7: return Type::IfcElectricVoltageMeasure; case 8: return Type::IfcFrequencyMeasure; case 9: return Type::IfcElectricCurrentMeasure; case 10: return Type::IfcElectricCurrentMeasure; case 11: return Type::IfcPowerMeasure; case 12: return Type::IfcPowerMeasure; case 13: return Type::UNDEFINED; } return IfcEnergyProperties::getArgumentEntity(i); } @@ -27116,11 +26102,9 @@ public: /// IfcElement. class IfcElement : public IfcProduct { public: - /// Whether the optional attribute Tag is defined for this IfcElement - bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void Tag(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcIdentifier; } return IfcProduct::getArgumentEntity(i); } @@ -27142,7 +26126,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElement (IfcAbstractEntity* e); - IfcElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElement > list; }; /// The IfcElementAssembly @@ -27241,16 +26225,14 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IfcElementAssembly : public IfcElement { public: - /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly - bool hasAssemblyPlace() const; /// A designation of where the assembly is intended to take place defined by an Enum. - IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; - void setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); + boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > AssemblyPlace() const; + void AssemblyPlace(boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v); /// Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; - void setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v); + void PredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAssemblyPlaceEnum; case 9: return Type::IfcElementAssemblyTypeEnum; } return IfcElement::getArgumentEntity(i); } @@ -27260,7 +26242,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementAssembly (IfcAbstractEntity* e); - IfcElementAssembly (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); + IfcElementAssembly (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElementAssembly > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between @@ -27351,7 +26333,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponent (IfcAbstractEntity* e); - IfcElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElementComponent > list; }; /// Definition from IAI: @@ -27408,10 +26390,10 @@ class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; - void setSemiAxis1(double v); + void SemiAxis1(double v); /// The second radius of the ellipse which shall be positive. double SemiAxis2() const; - void setSemiAxis2(double v); + void SemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; } return IfcConic::getArgumentEntity(i); } @@ -27475,7 +26457,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEquipmentElement (IfcAbstractEntity* e); - IfcEquipmentElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcEquipmentElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcEquipmentElement > list; }; @@ -27523,7 +26505,7 @@ class IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; - void setPredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v); + void PredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcEvaporativeCoolerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -27566,7 +26548,7 @@ class IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v); + void PredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcEvaporatorTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -27645,7 +26627,7 @@ class IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { public: /// Set of closed shells defining voids within the solid. IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; - void setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); + void Voids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcManifoldSolidBrep::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcClosedShell; } return IfcManifoldSolidBrep::getArgumentEntity(i); } @@ -27677,7 +26659,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastener (IfcAbstractEntity* e); - IfcFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFastener > list; }; /// Definition from IAI: @@ -27822,7 +26804,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElement (IfcAbstractEntity* e); - IfcFeatureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFeatureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general @@ -27892,7 +26874,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementAddition (IfcAbstractEntity* e); - IfcFeatureElementAddition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFeatureElementAddition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of @@ -27957,7 +26939,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementSubtraction (IfcAbstractEntity* e); - IfcFeatureElementSubtraction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property @@ -28073,7 +27055,7 @@ class IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; - void setPredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v); + void PredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFlowMeterTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -28349,7 +27331,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElement (IfcAbstractEntity* e); - IfcFurnishingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFurnishingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFurnishingElement > list; }; @@ -28371,7 +27353,7 @@ public: class IfcGasTerminalType : public IfcFlowTerminalType { public: IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v); + void PredefinedType(IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcGasTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -28484,15 +27466,13 @@ class IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. IfcTemplatedEntityList< IfcGridAxis >::ptr UAxes() const; - void setUAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); + void UAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// List of grid axes defining the second row of grid lines. IfcTemplatedEntityList< IfcGridAxis >::ptr VAxes() const; - void setVAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); - /// Whether the optional attribute WAxes is defined for this IfcGrid - bool hasWAxes() const; + void VAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid. - IfcTemplatedEntityList< IfcGridAxis >::ptr WAxes() const; - void setWAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > WAxes() const; + void WAxes(boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY_LIST; case 9: return IfcUtil::Argument_ENTITY_LIST; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcGridAxis; case 8: return Type::IfcGridAxis; case 9: return Type::IfcGridAxis; } return IfcProduct::getArgumentEntity(i); } @@ -28503,7 +27483,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGrid (IfcAbstractEntity* e); - IfcGrid (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes); + IfcGrid (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes); typedef IfcTemplatedEntityList< IfcGrid > list; }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. @@ -28584,7 +27564,7 @@ class IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; - void setPredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v); + void PredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcHeatExchangerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -28627,7 +27607,7 @@ class IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; - void setPredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v); + void PredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcHumidifierTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -28654,28 +27634,24 @@ public: class IfcInventory : public IfcGroup { public: IfcInventoryTypeEnum::IfcInventoryTypeEnum InventoryType() const; - void setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); + void InventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); /// The organizational unit to which the inventory is applicable. IfcActorSelect* Jurisdiction() const; - void setJurisdiction(IfcActorSelect* v); + void Jurisdiction(IfcActorSelect* v); /// Persons who are responsible for the inventory. IfcTemplatedEntityList< IfcPerson >::ptr ResponsiblePersons() const; - void setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v); + void ResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v); /// The date on which the last update of the inventory was carried out. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. IfcCalendarDate* LastUpdateDate() const; - void setLastUpdateDate(IfcCalendarDate* v); - /// Whether the optional attribute CurrentValue is defined for this IfcInventory - bool hasCurrentValue() const; + void LastUpdateDate(IfcCalendarDate* v); /// An estimate of the current cost value of the inventory. - IfcCostValue* CurrentValue() const; - void setCurrentValue(IfcCostValue* v); - /// Whether the optional attribute OriginalValue is defined for this IfcInventory - bool hasOriginalValue() const; + boost::optional< IfcCostValue* > CurrentValue() const; + void CurrentValue(boost::optional< IfcCostValue* > v); /// An estimate of the original cost value of the inventory. - IfcCostValue* OriginalValue() const; - void setOriginalValue(IfcCostValue* v); + boost::optional< IfcCostValue* > OriginalValue() const; + void OriginalValue(boost::optional< IfcCostValue* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInventoryTypeEnum; case 6: return Type::IfcActorSelect; case 7: return Type::IfcPerson; case 8: return Type::IfcCalendarDate; case 9: return Type::IfcCostValue; case 10: return Type::IfcCostValue; } return IfcGroup::getArgumentEntity(i); } @@ -28685,7 +27661,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInventory (IfcAbstractEntity* e); - IfcInventory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect* v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); + IfcInventory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect* v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, boost::optional< IfcCostValue* > v10_CurrentValue, boost::optional< IfcCostValue* > v11_OriginalValue); typedef IfcTemplatedEntityList< IfcInventory > list; }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: @@ -28719,7 +27695,7 @@ class IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; - void setPredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v); + void PredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcJunctionBoxTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -28758,10 +27734,8 @@ public: /// Figure 194 — Labor resource assignment use class IfcLaborResource : public IfcConstructionResource { public: - /// Whether the optional attribute SkillSet is defined for this IfcLaborResource - bool hasSkillSet() const; - std::string SkillSet() const; - void setSkillSet(std::string v); + boost::optional< std::string > SkillSet() const; + void SkillSet(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_STRING; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcText; } return IfcConstructionResource::getArgumentEntity(i); } @@ -28771,7 +27745,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLaborResource (IfcAbstractEntity* e); - IfcLaborResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< std::string > v10_SkillSet); + IfcLaborResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity, boost::optional< std::string > v10_SkillSet); typedef IfcTemplatedEntityList< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: @@ -28807,7 +27781,7 @@ class IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; - void setPredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v); + void PredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLampTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -28855,7 +27829,7 @@ class IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; - void setPredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v); + void PredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLightFixtureTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -28914,14 +27888,10 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IfcMechanicalFastener : public IfcFastener { public: - /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener - bool hasNominalLength() const; - double NominalLength() const; - void setNominalLength(double v); + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); + boost::optional< double > NominalLength() const; + void NominalLength(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcFastener::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; } return IfcFastener::getArgumentEntity(i); } @@ -28931,7 +27901,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastener (IfcAbstractEntity* e); - IfcMechanicalFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength); + IfcMechanicalFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength); typedef IfcTemplatedEntityList< IfcMechanicalFastener > list; }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). @@ -29088,7 +28058,7 @@ class IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; - void setPredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v); + void PredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcMemberTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -29132,7 +28102,7 @@ class IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; - void setPredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v); + void PredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcMotorConnectionTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -29149,13 +28119,11 @@ public: class IfcMove : public IfcTask { public: IfcSpatialStructureElement* MoveFrom() const; - void setMoveFrom(IfcSpatialStructureElement* v); + void MoveFrom(IfcSpatialStructureElement* v); IfcSpatialStructureElement* MoveTo() const; - void setMoveTo(IfcSpatialStructureElement* v); - /// Whether the optional attribute PunchList is defined for this IfcMove - bool hasPunchList() const; - std::vector< std::string > /*[1:?]*/ PunchList() const; - void setPunchList(std::vector< std::string > /*[1:?]*/ v); + void MoveTo(IfcSpatialStructureElement* v); + boost::optional< std::vector< std::string > /*[1:?]*/ > PunchList() const; + void PunchList(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_VECTOR_STRING; } return IfcTask::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcSpatialStructureElement; case 11: return Type::IfcSpatialStructureElement; case 12: return Type::IfcText; } return IfcTask::getArgumentEntity(i); } @@ -29181,7 +28149,7 @@ public: /// /// IFC2x4 CHANGE Attribute made optional. IfcOccupantTypeEnum::IfcOccupantTypeEnum PredefinedType() const; - void setPredefinedType(IfcOccupantTypeEnum::IfcOccupantTypeEnum v); + void PredefinedType(IfcOccupantTypeEnum::IfcOccupantTypeEnum v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; } return IfcActor::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcOccupantTypeEnum; } return IfcActor::getArgumentEntity(i); } @@ -29408,14 +28376,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpeningElement (IfcAbstractEntity* e); - IfcOpeningElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcOpeningElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; class IfcOrderAction : public IfcTask { public: std::string ActionID() const; - void setActionID(std::string v); + void ActionID(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_STRING; } return IfcTask::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcIdentifier; } return IfcTask::getArgumentEntity(i); } @@ -29461,7 +28429,7 @@ class IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; - void setPredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v); + void PredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcOutletTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -29483,7 +28451,7 @@ class IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; - void setLifeCyclePhase(std::string v); + void LifeCyclePhase(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLabel; } return IfcControl::getArgumentEntity(i); } @@ -29536,7 +28504,7 @@ public: class IfcPermit : public IfcControl { public: std::string PermitID() const; - void setPermitID(std::string v); + void PermitID(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; } return IfcControl::getArgumentEntity(i); } @@ -29582,7 +28550,7 @@ class IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v); + void PredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPipeFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -29632,7 +28600,7 @@ class IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v); + void PredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPipeSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -29726,7 +28694,7 @@ class IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; - void setPredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v); + void PredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPlateTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -29757,7 +28725,7 @@ class IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Points() const; - void setPoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void Points(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -29837,7 +28805,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPort (IfcAbstractEntity* e); - IfcPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcPort > list; }; /// An IfcProcedure is a @@ -29947,13 +28915,11 @@ public: class IfcProcedure : public IfcProcess { public: std::string ProcedureID() const; - void setProcedureID(std::string v); + void ProcedureID(std::string v); IfcProcedureTypeEnum::IfcProcedureTypeEnum ProcedureType() const; - void setProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); - /// Whether the optional attribute UserDefinedProcedureType is defined for this IfcProcedure - bool hasUserDefinedProcedureType() const; - std::string UserDefinedProcedureType() const; - void setUserDefinedProcedureType(std::string v); + void ProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); + boost::optional< std::string > UserDefinedProcedureType() const; + void UserDefinedProcedureType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; } return IfcProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcProcedureTypeEnum; case 7: return Type::IfcLabel; } return IfcProcess::getArgumentEntity(i); } @@ -30012,14 +28978,12 @@ public: class IfcProjectOrder : public IfcControl { public: std::string ID() const; - void setID(std::string v); + void ID(std::string v); /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum PredefinedType() const; - void setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v); - /// Whether the optional attribute Status is defined for this IfcProjectOrder - bool hasStatus() const; + void PredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v); /// The current status of a project order.Examples of status values that might be used for a project order status include: /// /// PLANNED @@ -30029,8 +28993,8 @@ public: /// STARTED /// DELAYED /// DONE - std::string Status() const; - void setStatus(std::string v); + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcProjectOrderTypeEnum; case 7: return Type::IfcLabel; } return IfcControl::getArgumentEntity(i); } @@ -30047,9 +29011,9 @@ public: class IfcProjectOrderRecord : public IfcControl { public: IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr Records() const; - void setRecords(IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v); + void Records(IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v); IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum PredefinedType() const; - void setPredefinedType(IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v); + void PredefinedType(IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY_LIST; case 6: return IfcUtil::Argument_ENUMERATION; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcRelAssignsToProjectOrder; case 6: return Type::IfcProjectOrderRecordTypeEnum; } return IfcControl::getArgumentEntity(i); } @@ -30180,7 +29144,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectionElement (IfcAbstractEntity* e); - IfcProjectionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcProjectionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcProjectionElement > list; }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: @@ -30222,7 +29186,7 @@ class IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v); + void PredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcProtectiveDeviceTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -30267,7 +29231,7 @@ class IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; - void setPredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v); + void PredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPumpTypeEnum; } return IfcFlowMovingDeviceType::getArgumentEntity(i); } @@ -30319,7 +29283,7 @@ class IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; - void setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v); + void PredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRailingTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -30356,7 +29320,7 @@ class IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; - void setPredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v); + void PredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRampFlightTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -30408,10 +29372,8 @@ public: class IfcRelAssignsTasks : public IfcRelAssignsToControl { public: - /// Whether the optional attribute TimeForTask is defined for this IfcRelAssignsTasks - bool hasTimeForTask() const; - IfcScheduleTimeControl* TimeForTask() const; - void setTimeForTask(IfcScheduleTimeControl* v); + boost::optional< IfcScheduleTimeControl* > TimeForTask() const; + void TimeForTask(boost::optional< IfcScheduleTimeControl* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssignsToControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcScheduleTimeControl; } return IfcRelAssignsToControl::getArgumentEntity(i); } @@ -30421,7 +29383,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsTasks (IfcAbstractEntity* e); - IfcRelAssignsTasks (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask); + IfcRelAssignsTasks (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, boost::optional< IfcScheduleTimeControl* > v8_TimeForTask); typedef IfcTemplatedEntityList< IfcRelAssignsTasks > list; }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: @@ -30465,7 +29427,7 @@ class IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v); + void PredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSanitaryTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -30481,78 +29443,42 @@ public: class IfcScheduleTimeControl : public IfcControl { public: - /// Whether the optional attribute ActualStart is defined for this IfcScheduleTimeControl - bool hasActualStart() const; - IfcDateTimeSelect* ActualStart() const; - void setActualStart(IfcDateTimeSelect* v); - /// Whether the optional attribute EarlyStart is defined for this IfcScheduleTimeControl - bool hasEarlyStart() const; - IfcDateTimeSelect* EarlyStart() const; - void setEarlyStart(IfcDateTimeSelect* v); - /// Whether the optional attribute LateStart is defined for this IfcScheduleTimeControl - bool hasLateStart() const; - IfcDateTimeSelect* LateStart() const; - void setLateStart(IfcDateTimeSelect* v); - /// Whether the optional attribute ScheduleStart is defined for this IfcScheduleTimeControl - bool hasScheduleStart() const; - IfcDateTimeSelect* ScheduleStart() const; - void setScheduleStart(IfcDateTimeSelect* v); - /// Whether the optional attribute ActualFinish is defined for this IfcScheduleTimeControl - bool hasActualFinish() const; - IfcDateTimeSelect* ActualFinish() const; - void setActualFinish(IfcDateTimeSelect* v); - /// Whether the optional attribute EarlyFinish is defined for this IfcScheduleTimeControl - bool hasEarlyFinish() const; - IfcDateTimeSelect* EarlyFinish() const; - void setEarlyFinish(IfcDateTimeSelect* v); - /// Whether the optional attribute LateFinish is defined for this IfcScheduleTimeControl - bool hasLateFinish() const; - IfcDateTimeSelect* LateFinish() const; - void setLateFinish(IfcDateTimeSelect* v); - /// Whether the optional attribute ScheduleFinish is defined for this IfcScheduleTimeControl - bool hasScheduleFinish() const; - IfcDateTimeSelect* ScheduleFinish() const; - void setScheduleFinish(IfcDateTimeSelect* v); - /// Whether the optional attribute ScheduleDuration is defined for this IfcScheduleTimeControl - bool hasScheduleDuration() const; - double ScheduleDuration() const; - void setScheduleDuration(double v); - /// Whether the optional attribute ActualDuration is defined for this IfcScheduleTimeControl - bool hasActualDuration() const; - double ActualDuration() const; - void setActualDuration(double v); - /// Whether the optional attribute RemainingTime is defined for this IfcScheduleTimeControl - bool hasRemainingTime() const; - double RemainingTime() const; - void setRemainingTime(double v); - /// Whether the optional attribute FreeFloat is defined for this IfcScheduleTimeControl - bool hasFreeFloat() const; - double FreeFloat() const; - void setFreeFloat(double v); - /// Whether the optional attribute TotalFloat is defined for this IfcScheduleTimeControl - bool hasTotalFloat() const; - double TotalFloat() const; - void setTotalFloat(double v); - /// Whether the optional attribute IsCritical is defined for this IfcScheduleTimeControl - bool hasIsCritical() const; - bool IsCritical() const; - void setIsCritical(bool v); - /// Whether the optional attribute StatusTime is defined for this IfcScheduleTimeControl - bool hasStatusTime() const; - IfcDateTimeSelect* StatusTime() const; - void setStatusTime(IfcDateTimeSelect* v); - /// Whether the optional attribute StartFloat is defined for this IfcScheduleTimeControl - bool hasStartFloat() const; - double StartFloat() const; - void setStartFloat(double v); - /// Whether the optional attribute FinishFloat is defined for this IfcScheduleTimeControl - bool hasFinishFloat() const; - double FinishFloat() const; - void setFinishFloat(double v); - /// Whether the optional attribute Completion is defined for this IfcScheduleTimeControl - bool hasCompletion() const; - double Completion() const; - void setCompletion(double v); + boost::optional< IfcDateTimeSelect* > ActualStart() const; + void ActualStart(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > EarlyStart() const; + void EarlyStart(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > LateStart() const; + void LateStart(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > ScheduleStart() const; + void ScheduleStart(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > ActualFinish() const; + void ActualFinish(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > EarlyFinish() const; + void EarlyFinish(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > LateFinish() const; + void LateFinish(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcDateTimeSelect* > ScheduleFinish() const; + void ScheduleFinish(boost::optional< IfcDateTimeSelect* > v); + boost::optional< double > ScheduleDuration() const; + void ScheduleDuration(boost::optional< double > v); + boost::optional< double > ActualDuration() const; + void ActualDuration(boost::optional< double > v); + boost::optional< double > RemainingTime() const; + void RemainingTime(boost::optional< double > v); + boost::optional< double > FreeFloat() const; + void FreeFloat(boost::optional< double > v); + boost::optional< double > TotalFloat() const; + void TotalFloat(boost::optional< double > v); + boost::optional< bool > IsCritical() const; + void IsCritical(boost::optional< bool > v); + boost::optional< IfcDateTimeSelect* > StatusTime() const; + void StatusTime(boost::optional< IfcDateTimeSelect* > v); + boost::optional< double > StartFloat() const; + void StartFloat(boost::optional< double > v); + boost::optional< double > FinishFloat() const; + void FinishFloat(boost::optional< double > v); + boost::optional< double > Completion() const; + void Completion(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 23; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_BOOL; case 19: return IfcUtil::Argument_ENTITY; case 20: return IfcUtil::Argument_DOUBLE; case 21: return IfcUtil::Argument_DOUBLE; case 22: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcDateTimeSelect; case 6: return Type::IfcDateTimeSelect; case 7: return Type::IfcDateTimeSelect; case 8: return Type::IfcDateTimeSelect; case 9: return Type::IfcDateTimeSelect; case 10: return Type::IfcDateTimeSelect; case 11: return Type::IfcDateTimeSelect; case 12: return Type::IfcDateTimeSelect; case 13: return Type::IfcTimeMeasure; case 14: return Type::IfcTimeMeasure; case 15: return Type::IfcTimeMeasure; case 16: return Type::IfcTimeMeasure; case 17: return Type::IfcTimeMeasure; case 18: return Type::UNDEFINED; case 19: return Type::IfcDateTimeSelect; case 20: return Type::IfcTimeMeasure; case 21: return Type::IfcTimeMeasure; case 22: return Type::IfcPositiveRatioMeasure; } return IfcControl::getArgumentEntity(i); } @@ -30563,16 +29489,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcScheduleTimeControl (IfcAbstractEntity* e); - IfcScheduleTimeControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcDateTimeSelect* v6_ActualStart, IfcDateTimeSelect* v7_EarlyStart, IfcDateTimeSelect* v8_LateStart, IfcDateTimeSelect* v9_ScheduleStart, IfcDateTimeSelect* v10_ActualFinish, IfcDateTimeSelect* v11_EarlyFinish, IfcDateTimeSelect* v12_LateFinish, IfcDateTimeSelect* v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, IfcDateTimeSelect* v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion); + IfcScheduleTimeControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcDateTimeSelect* > v6_ActualStart, boost::optional< IfcDateTimeSelect* > v7_EarlyStart, boost::optional< IfcDateTimeSelect* > v8_LateStart, boost::optional< IfcDateTimeSelect* > v9_ScheduleStart, boost::optional< IfcDateTimeSelect* > v10_ActualFinish, boost::optional< IfcDateTimeSelect* > v11_EarlyFinish, boost::optional< IfcDateTimeSelect* > v12_LateFinish, boost::optional< IfcDateTimeSelect* > v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect* > v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion); typedef IfcTemplatedEntityList< IfcScheduleTimeControl > list; }; class IfcServiceLife : public IfcControl { public: IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum ServiceLifeType() const; - void setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v); + void ServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v); double ServiceLifeDuration() const; - void setServiceLifeDuration(double v); + void ServiceLifeDuration(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcServiceLifeTypeEnum; case 6: return Type::IfcTimeMeasure; } return IfcControl::getArgumentEntity(i); } @@ -30776,34 +29702,24 @@ public: /// 'SurfaceModel' class IfcSite : public IfcSpatialStructureElement { public: - /// Whether the optional attribute RefLatitude is defined for this IfcSite - bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - std::vector< int > /*[3:4]*/ RefLatitude() const; - void setRefLatitude(std::vector< int > /*[3:4]*/ v); - /// Whether the optional attribute RefLongitude is defined for this IfcSite - bool hasRefLongitude() const; + boost::optional< std::vector< int > /*[3:4]*/ > RefLatitude() const; + void RefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v); /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - std::vector< int > /*[3:4]*/ RefLongitude() const; - void setRefLongitude(std::vector< int > /*[3:4]*/ v); - /// Whether the optional attribute RefElevation is defined for this IfcSite - bool hasRefElevation() const; + boost::optional< std::vector< int > /*[3:4]*/ > RefLongitude() const; + void RefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v); /// Datum elevation relative to sea level. - double RefElevation() const; - void setRefElevation(double v); - /// Whether the optional attribute LandTitleNumber is defined for this IfcSite - bool hasLandTitleNumber() const; + boost::optional< double > RefElevation() const; + void RefElevation(boost::optional< double > v); /// The land title number (designation of the site within a regional system). - std::string LandTitleNumber() const; - void setLandTitleNumber(std::string v); - /// Whether the optional attribute SiteAddress is defined for this IfcSite - bool hasSiteAddress() const; + boost::optional< std::string > LandTitleNumber() const; + void LandTitleNumber(boost::optional< std::string > v); /// Address given to the site for postal purposes. - IfcPostalAddress* SiteAddress() const; - void setSiteAddress(IfcPostalAddress* v); + boost::optional< IfcPostalAddress* > SiteAddress() const; + void SiteAddress(boost::optional< IfcPostalAddress* > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_VECTOR_INT; case 10: return IfcUtil::Argument_VECTOR_INT; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_ENTITY; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCompoundPlaneAngleMeasure; case 10: return Type::IfcCompoundPlaneAngleMeasure; case 11: return Type::IfcLengthMeasure; case 12: return Type::IfcLabel; case 13: return Type::IfcPostalAddress; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -30813,7 +29729,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSite (IfcAbstractEntity* e); - IfcSite (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); + IfcSite (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, boost::optional< IfcPostalAddress* > v14_SiteAddress); typedef IfcTemplatedEntityList< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared @@ -30897,7 +29813,7 @@ class IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; - void setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v); + void PredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSlabTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -31163,12 +30079,10 @@ public: class IfcSpace : public IfcSpatialStructureElement { public: IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InteriorOrExteriorSpace() const; - void setInteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); - /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace - bool hasElevationWithFlooring() const; + void InteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - double ElevationWithFlooring() const; - void setElevationWithFlooring(double v); + boost::optional< double > ElevationWithFlooring() const; + void ElevationWithFlooring(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcInternalOrExternalEnum; case 10: return Type::IfcLengthMeasure; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -31180,7 +30094,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpace (IfcAbstractEntity* e); - IfcSpace (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring); + IfcSpace (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring); typedef IfcTemplatedEntityList< IfcSpace > list; }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: @@ -31217,7 +30131,7 @@ class IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v); + void PredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSpaceHeaterTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -31234,21 +30148,15 @@ public: class IfcSpaceProgram : public IfcControl { public: std::string SpaceProgramIdentifier() const; - void setSpaceProgramIdentifier(std::string v); - /// Whether the optional attribute MaxRequiredArea is defined for this IfcSpaceProgram - bool hasMaxRequiredArea() const; - double MaxRequiredArea() const; - void setMaxRequiredArea(double v); - /// Whether the optional attribute MinRequiredArea is defined for this IfcSpaceProgram - bool hasMinRequiredArea() const; - double MinRequiredArea() const; - void setMinRequiredArea(double v); - /// Whether the optional attribute RequestedLocation is defined for this IfcSpaceProgram - bool hasRequestedLocation() const; - IfcSpatialStructureElement* RequestedLocation() const; - void setRequestedLocation(IfcSpatialStructureElement* v); + void SpaceProgramIdentifier(std::string v); + boost::optional< double > MaxRequiredArea() const; + void MaxRequiredArea(boost::optional< double > v); + boost::optional< double > MinRequiredArea() const; + void MinRequiredArea(boost::optional< double > v); + boost::optional< IfcSpatialStructureElement* > RequestedLocation() const; + void RequestedLocation(boost::optional< IfcSpatialStructureElement* > v); double StandardRequiredArea() const; - void setStandardRequiredArea(double v); + void StandardRequiredArea(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcAreaMeasure; case 7: return Type::IfcAreaMeasure; case 8: return Type::IfcSpatialStructureElement; case 9: return Type::IfcAreaMeasure; } return IfcControl::getArgumentEntity(i); } @@ -31260,7 +30168,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceProgram (IfcAbstractEntity* e); - IfcSpaceProgram (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, double v10_StandardRequiredArea); + IfcSpaceProgram (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, boost::optional< IfcSpatialStructureElement* > v9_RequestedLocation, double v10_StandardRequiredArea); typedef IfcTemplatedEntityList< IfcSpaceProgram > list; }; /// Definition from IAI: A space represents an area or @@ -31348,7 +30256,7 @@ class IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); + void PredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcSpatialStructureElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSpaceTypeEnum; } return IfcSpatialStructureElementType::getArgumentEntity(i); } @@ -31391,7 +30299,7 @@ class IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v); + void PredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStackTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -31428,7 +30336,7 @@ class IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; - void setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); + void PredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -31464,11 +30372,9 @@ class IfcStructuralAction : public IfcStructuralActivity { public: /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. bool DestabilizingLoad() const; - void setDestabilizingLoad(bool v); - /// Whether the optional attribute CausedBy is defined for this IfcStructuralAction - bool hasCausedBy() const; - IfcStructuralReaction* CausedBy() const; - void setCausedBy(IfcStructuralReaction* v); + void DestabilizingLoad(bool v); + boost::optional< IfcStructuralReaction* > CausedBy() const; + void CausedBy(boost::optional< IfcStructuralReaction* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_ENTITY; } return IfcStructuralActivity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::UNDEFINED; case 10: return Type::IfcStructuralReaction; } return IfcStructuralActivity::getArgumentEntity(i); } @@ -31478,7 +30384,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAction (IfcAbstractEntity* e); - IfcStructuralAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); + IfcStructuralAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy); typedef IfcTemplatedEntityList< IfcStructuralAction > list; }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. @@ -31486,11 +30392,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralConnection : public IfcStructuralItem { public: - /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection - bool hasAppliedCondition() const; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. - IfcBoundaryCondition* AppliedCondition() const; - void setAppliedCondition(IfcBoundaryCondition* v); + boost::optional< IfcBoundaryCondition* > AppliedCondition() const; + void AppliedCondition(boost::optional< IfcBoundaryCondition* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; } return IfcStructuralItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcBoundaryCondition; } return IfcStructuralItem::getArgumentEntity(i); } @@ -31501,7 +30405,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnection (IfcAbstractEntity* e); - IfcStructuralConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralConnection > list; }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. @@ -31532,7 +30436,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveConnection (IfcAbstractEntity* e); - IfcStructuralCurveConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralCurveConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralCurveConnection > list; }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. @@ -31576,7 +30480,7 @@ class IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v); + void PredefinedType(IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcStructuralCurveTypeEnum; } return IfcStructuralMember::getArgumentEntity(i); } @@ -31586,7 +30490,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMember (IfcAbstractEntity* e); - IfcStructuralCurveMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); + IfcStructuralCurveMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveMember > list; }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. @@ -31620,7 +30524,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMemberVarying (IfcAbstractEntity* e); - IfcStructuralCurveMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); + IfcStructuralCurveMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. @@ -31633,7 +30537,7 @@ public: class IfcStructuralLinearAction : public IfcStructuralAction { public: IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; - void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); + void ProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralAction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcProjectedOrTrueLengthEnum; } return IfcStructuralAction::getArgumentEntity(i); } @@ -31643,16 +30547,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLinearAction (IfcAbstractEntity* e); - IfcStructuralLinearAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); + IfcStructuralLinearAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; class IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { public: IfcShapeAspect* VaryingAppliedLoadLocation() const; - void setVaryingAppliedLoadLocation(IfcShapeAspect* v); + void VaryingAppliedLoadLocation(IfcShapeAspect* v); IfcTemplatedEntityList< IfcStructuralLoad >::ptr SubsequentAppliedLoads() const; - void setSubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v); + void SubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENTITY_LIST; } return IfcStructuralLinearAction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 12: return Type::IfcShapeAspect; case 13: return Type::IfcStructuralLoad; } return IfcStructuralLinearAction::getArgumentEntity(i); } @@ -31662,7 +30566,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLinearActionVarying (IfcAbstractEntity* e); - IfcStructuralLinearActionVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); + IfcStructuralLinearActionVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); typedef IfcTemplatedEntityList< IfcStructuralLinearActionVarying > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the @@ -31702,23 +30606,19 @@ class IfcStructuralLoadGroup : public IfcGroup { public: /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum PredefinedType() const; - void setPredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v); + void PredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v); /// Type of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. IfcActionTypeEnum::IfcActionTypeEnum ActionType() const; - void setActionType(IfcActionTypeEnum::IfcActionTypeEnum v); + void ActionType(IfcActionTypeEnum::IfcActionTypeEnum v); /// Source of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. IfcActionSourceTypeEnum::IfcActionSourceTypeEnum ActionSource() const; - void setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v); - /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup - bool hasCoefficient() const; + void ActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v); /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - double Coefficient() const; - void setCoefficient(double v); - /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup - bool hasPurpose() const; + boost::optional< double > Coefficient() const; + void Coefficient(boost::optional< double > v); /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - std::string Purpose() const; - void setPurpose(std::string v); + boost::optional< std::string > Purpose() const; + void Purpose(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_STRING; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLoadGroupTypeEnum; case 6: return Type::IfcActionTypeEnum; case 7: return Type::IfcActionSourceTypeEnum; case 8: return Type::IfcRatioMeasure; case 9: return Type::IfcLabel; } return IfcGroup::getArgumentEntity(i); } @@ -31743,7 +30643,7 @@ public: class IfcStructuralPlanarAction : public IfcStructuralAction { public: IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; - void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); + void ProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralAction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcProjectedOrTrueLengthEnum; } return IfcStructuralAction::getArgumentEntity(i); } @@ -31753,16 +30653,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPlanarAction (IfcAbstractEntity* e); - IfcStructuralPlanarAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); + IfcStructuralPlanarAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; class IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { public: IfcShapeAspect* VaryingAppliedLoadLocation() const; - void setVaryingAppliedLoadLocation(IfcShapeAspect* v); + void VaryingAppliedLoadLocation(IfcShapeAspect* v); IfcTemplatedEntityList< IfcStructuralLoad >::ptr SubsequentAppliedLoads() const; - void setSubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v); + void SubsequentAppliedLoads(IfcTemplatedEntityList< IfcStructuralLoad >::ptr v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENTITY_LIST; } return IfcStructuralPlanarAction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 12: return Type::IfcShapeAspect; case 13: return Type::IfcStructuralLoad; } return IfcStructuralPlanarAction::getArgumentEntity(i); } @@ -31772,7 +30672,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPlanarActionVarying (IfcAbstractEntity* e); - IfcStructuralPlanarActionVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); + IfcStructuralPlanarActionVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); typedef IfcTemplatedEntityList< IfcStructuralPlanarActionVarying > list; }; /// Definition from IAI: Defines an action which acts on a point. @@ -31831,7 +30731,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointAction (IfcAbstractEntity* e); - IfcStructuralPointAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); + IfcStructuralPointAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, boost::optional< IfcStructuralReaction* > v11_CausedBy); typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. @@ -31858,7 +30758,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointConnection (IfcAbstractEntity* e); - IfcStructuralPointConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralPointConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. @@ -31915,7 +30815,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointReaction (IfcAbstractEntity* e); - IfcStructuralPointReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralPointReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralPointReaction > list; }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. @@ -31926,15 +30826,13 @@ class IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType() const; - void setTheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v); - /// Whether the optional attribute ResultForLoadGroup is defined for this IfcStructuralResultGroup - bool hasResultForLoadGroup() const; + void TheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v); /// Reference to an instance of IfcStructuralLoadGroup for which this instance represents the result. - IfcStructuralLoadGroup* ResultForLoadGroup() const; - void setResultForLoadGroup(IfcStructuralLoadGroup* v); + boost::optional< IfcStructuralLoadGroup* > ResultForLoadGroup() const; + void ResultForLoadGroup(boost::optional< IfcStructuralLoadGroup* > v); /// This value allows to easily recognize whether a linear analysis has been applied (allowing the superposition of analysis results). bool IsLinear() const; - void setIsLinear(bool v); + void IsLinear(bool v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_BOOL; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisTheoryTypeEnum; case 6: return Type::IfcStructuralLoadGroup; case 7: return Type::UNDEFINED; } return IfcGroup::getArgumentEntity(i); } @@ -31945,7 +30843,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralResultGroup (IfcAbstractEntity* e); - IfcStructuralResultGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, boost::optional< IfcStructuralLoadGroup* > v7_ResultForLoadGroup, bool v8_IsLinear); typedef IfcTemplatedEntityList< IfcStructuralResultGroup > list; }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. @@ -31971,7 +30869,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceConnection (IfcAbstractEntity* e); - IfcStructuralSurfaceConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralSurfaceConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. @@ -32000,14 +30898,10 @@ public: /// Figure 195 — Subcontract assignment use class IfcSubContractResource : public IfcConstructionResource { public: - /// Whether the optional attribute SubContractor is defined for this IfcSubContractResource - bool hasSubContractor() const; - IfcActorSelect* SubContractor() const; - void setSubContractor(IfcActorSelect* v); - /// Whether the optional attribute JobDescription is defined for this IfcSubContractResource - bool hasJobDescription() const; - std::string JobDescription() const; - void setJobDescription(std::string v); + boost::optional< IfcActorSelect* > SubContractor() const; + void SubContractor(boost::optional< IfcActorSelect* > v); + boost::optional< std::string > JobDescription() const; + void JobDescription(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcActorSelect; case 10: return Type::IfcText; } return IfcConstructionResource::getArgumentEntity(i); } @@ -32017,7 +30911,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSubContractResource (IfcAbstractEntity* e); - IfcSubContractResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription); + IfcSubContractResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity, boost::optional< IfcActorSelect* > v10_SubContractor, boost::optional< std::string > v11_JobDescription); typedef IfcTemplatedEntityList< IfcSubContractResource > list; }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: @@ -32064,7 +30958,7 @@ class IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v); + void PredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSwitchingDeviceTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -32145,7 +31039,7 @@ class IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; - void setPredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v); + void PredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowStorageDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTankTypeEnum; } return IfcFlowStorageDeviceType::getArgumentEntity(i); } @@ -32161,14 +31055,12 @@ public: class IfcTimeSeriesSchedule : public IfcControl { public: - /// Whether the optional attribute ApplicableDates is defined for this IfcTimeSeriesSchedule - bool hasApplicableDates() const; - IfcEntityList::ptr ApplicableDates() const; - void setApplicableDates(IfcEntityList::ptr v); + boost::optional< IfcEntityList::ptr > ApplicableDates() const; + void ApplicableDates(boost::optional< IfcEntityList::ptr > v); IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum TimeSeriesScheduleType() const; - void setTimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v); + void TimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v); IfcTimeSeries* TimeSeries() const; - void setTimeSeries(IfcTimeSeries* v); + void TimeSeries(IfcTimeSeries* v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY_LIST; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENTITY; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcDateTimeSelect; case 6: return Type::IfcTimeSeriesScheduleTypeEnum; case 7: return Type::IfcTimeSeries; } return IfcControl::getArgumentEntity(i); } @@ -32212,7 +31104,7 @@ class IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; - void setPredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v); + void PredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTransformerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -32343,20 +31235,14 @@ public: /// RepresentationType : 'MappedRepresentation' class IfcTransportElement : public IfcElement { public: - /// Whether the optional attribute OperationType is defined for this IfcTransportElement - bool hasOperationType() const; - IfcTransportElementTypeEnum::IfcTransportElementTypeEnum OperationType() const; - void setOperationType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); - /// Whether the optional attribute CapacityByWeight is defined for this IfcTransportElement - bool hasCapacityByWeight() const; + boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > OperationType() const; + void OperationType(boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v); /// Capacity of the transport element measured by weight. - double CapacityByWeight() const; - void setCapacityByWeight(double v); - /// Whether the optional attribute CapacityByNumber is defined for this IfcTransportElement - bool hasCapacityByNumber() const; + boost::optional< double > CapacityByWeight() const; + void CapacityByWeight(boost::optional< double > v); /// Capacity of the transportation element measured in numbers of person. - double CapacityByNumber() const; - void setCapacityByNumber(double v); + boost::optional< double > CapacityByNumber() const; + void CapacityByNumber(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTransportElementTypeEnum; case 9: return Type::IfcMassMeasure; case 10: return Type::IfcCountMeasure; } return IfcElement::getArgumentEntity(i); } @@ -32366,7 +31252,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElement (IfcAbstractEntity* e); - IfcTransportElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber); + IfcTransportElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber); typedef IfcTemplatedEntityList< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: @@ -32451,19 +31337,19 @@ class IfcTrimmedCurve : public IfcBoundedCurve { public: /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. IfcEntityList::ptr Trim1() const; - void setTrim1(IfcEntityList::ptr v); + void Trim1(IfcEntityList::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. IfcEntityList::ptr Trim2() const; - void setTrim2(IfcEntityList::ptr v); + void Trim2(IfcEntityList::ptr v); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement() const; - void setSenseAgreement(bool v); + void SenseAgreement(bool v); /// Where both parameter and point are present at either end of the curve this indicates the preferred form. IfcTrimmingPreference::IfcTrimmingPreference MasterRepresentation() const; - void setMasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v); + void MasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENUMERATION; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcTrimmingSelect; case 2: return Type::IfcTrimmingSelect; case 3: return Type::UNDEFINED; case 4: return Type::IfcTrimmingPreference; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -32509,7 +31395,7 @@ class IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; - void setPredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v); + void PredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTubeBundleTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -32554,7 +31440,7 @@ class IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v); + void PredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcUnitaryEquipmentTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -32609,7 +31495,7 @@ class IfcValveType : public IfcFlowControllerType { public: /// The type of valve. IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; - void setPredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v); + void PredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcValveTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -32719,7 +31605,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVirtualElement (IfcAbstractEntity* e); - IfcVirtualElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcVirtualElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcVirtualElement > list; }; /// Definition from IAI: The element type @@ -32810,7 +31696,7 @@ class IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; - void setPredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v); + void PredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWallTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -32863,7 +31749,7 @@ class IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v); + void PredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWasteTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -32923,46 +31809,32 @@ public: class IfcWorkControl : public IfcControl { public: std::string Identifier() const; - void setIdentifier(std::string v); + void Identifier(std::string v); /// The date that the plan is created. IfcDateTimeSelect* CreationDate() const; - void setCreationDate(IfcDateTimeSelect* v); - /// Whether the optional attribute Creators is defined for this IfcWorkControl - bool hasCreators() const; + void CreationDate(IfcDateTimeSelect* v); /// The authors of the work plan. - IfcTemplatedEntityList< IfcPerson >::ptr Creators() const; - void setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v); - /// Whether the optional attribute Purpose is defined for this IfcWorkControl - bool hasPurpose() const; + boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > Creators() const; + void Creators(boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v); /// A description of the purpose of the work schedule. - std::string Purpose() const; - void setPurpose(std::string v); - /// Whether the optional attribute Duration is defined for this IfcWorkControl - bool hasDuration() const; + boost::optional< std::string > Purpose() const; + void Purpose(boost::optional< std::string > v); /// The total duration of the entire work schedule. - double Duration() const; - void setDuration(double v); - /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl - bool hasTotalFloat() const; + boost::optional< double > Duration() const; + void Duration(boost::optional< double > v); /// The total time float of the entire work schedule. - double TotalFloat() const; - void setTotalFloat(double v); + boost::optional< double > TotalFloat() const; + void TotalFloat(boost::optional< double > v); /// The start time of the schedule. IfcDateTimeSelect* StartTime() const; - void setStartTime(IfcDateTimeSelect* v); - /// Whether the optional attribute FinishTime is defined for this IfcWorkControl - bool hasFinishTime() const; + void StartTime(IfcDateTimeSelect* v); /// The finish time of the schedule. - IfcDateTimeSelect* FinishTime() const; - void setFinishTime(IfcDateTimeSelect* v); - /// Whether the optional attribute WorkControlType is defined for this IfcWorkControl - bool hasWorkControlType() const; - IfcWorkControlTypeEnum::IfcWorkControlTypeEnum WorkControlType() const; - void setWorkControlType(IfcWorkControlTypeEnum::IfcWorkControlTypeEnum v); - /// Whether the optional attribute UserDefinedControlType is defined for this IfcWorkControl - bool hasUserDefinedControlType() const; - std::string UserDefinedControlType() const; - void setUserDefinedControlType(std::string v); + boost::optional< IfcDateTimeSelect* > FinishTime() const; + void FinishTime(boost::optional< IfcDateTimeSelect* > v); + boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > WorkControlType() const; + void WorkControlType(boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v); + boost::optional< std::string > UserDefinedControlType() const; + void UserDefinedControlType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENUMERATION; case 14: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcDateTimeSelect; case 7: return Type::IfcPerson; case 8: return Type::IfcLabel; case 9: return Type::IfcTimeMeasure; case 10: return Type::IfcTimeMeasure; case 11: return Type::IfcDateTimeSelect; case 12: return Type::IfcDateTimeSelect; case 13: return Type::IfcWorkControlTypeEnum; case 14: return Type::IfcLabel; } return IfcControl::getArgumentEntity(i); } @@ -32972,7 +31844,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkControl (IfcAbstractEntity* e); - IfcWorkControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); + IfcWorkControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, boost::optional< IfcDateTimeSelect* > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); typedef IfcTemplatedEntityList< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. @@ -33011,7 +31883,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkPlan (IfcAbstractEntity* e); - IfcWorkPlan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); + IfcWorkPlan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, boost::optional< IfcDateTimeSelect* > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); typedef IfcTemplatedEntityList< IfcWorkPlan > list; }; /// An IfcWorkSchedule @@ -33065,7 +31937,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkSchedule (IfcAbstractEntity* e); - IfcWorkSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); + IfcWorkSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, boost::optional< IfcDateTimeSelect* > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); typedef IfcTemplatedEntityList< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isÿa group of spaces, @@ -33223,7 +32095,7 @@ public: class IfcActionRequest : public IfcControl { public: std::string RequestID() const; - void setRequestID(std::string v); + void RequestID(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; } return IfcControl::getArgumentEntity(i); } @@ -33266,7 +32138,7 @@ class IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v); + void PredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAirTerminalBoxTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -33308,7 +32180,7 @@ public: class IfcAirTerminalType : public IfcFlowTerminalType { public: IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); + void PredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAirTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -33351,7 +32223,7 @@ class IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v); + void PredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAirToAirHeatRecoveryTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -33406,35 +32278,35 @@ public: class IfcAsset : public IfcGroup { public: std::string AssetID() const; - void setAssetID(std::string v); + void AssetID(std::string v); /// The cost value of the asset at the time of purchase. IfcCostValue* OriginalValue() const; - void setOriginalValue(IfcCostValue* v); + void OriginalValue(IfcCostValue* v); /// The current cost value of the asset. IfcCostValue* CurrentValue() const; - void setCurrentValue(IfcCostValue* v); + void CurrentValue(IfcCostValue* v); /// The total cost of replacement of the asset. IfcCostValue* TotalReplacementCost() const; - void setTotalReplacementCost(IfcCostValue* v); + void TotalReplacementCost(IfcCostValue* v); /// The name of the person or organization that 'owns' the asset. IfcActorSelect* Owner() const; - void setOwner(IfcActorSelect* v); + void Owner(IfcActorSelect* v); /// The name of the person or organization that 'uses' the asset. IfcActorSelect* User() const; - void setUser(IfcActorSelect* v); + void User(IfcActorSelect* v); /// The person designated to be responsible for the asset. /// NOTE: In some regulations (for example, UK Health and Safety at Work Act, Electricity at Work Regulations), management of assets must have a person identified as being responsible and to whom regulatory, insurance and other organizations communicate. In places where there is not a legal requirement, the responsible person would be the asset manager but would not have a legal status. IfcPerson* ResponsiblePerson() const; - void setResponsiblePerson(IfcPerson* v); + void ResponsiblePerson(IfcPerson* v); /// The date on which an asset was incorporated into the works, installed, constructed, erected or completed. /// NOTE: This is the date on which an asset is considered to start depreciating. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. IfcCalendarDate* IncorporationDate() const; - void setIncorporationDate(IfcCalendarDate* v); + void IncorporationDate(IfcCalendarDate* v); /// The current value of an asset within the accounting rules and procedures of an organization. IfcCostValue* DepreciatedValue() const; - void setDepreciatedValue(IfcCostValue* v); + void DepreciatedValue(IfcCostValue* v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENTITY; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcCostValue; case 7: return Type::IfcCostValue; case 8: return Type::IfcCostValue; case 9: return Type::IfcActorSelect; case 10: return Type::IfcActorSelect; case 11: return Type::IfcPerson; case 12: return Type::IfcCalendarDate; case 13: return Type::IfcCostValue; } return IfcGroup::getArgumentEntity(i); } @@ -33500,19 +32372,19 @@ class IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; - void setDegree(int v); + void Degree(int v); /// The list of control points for the curve. IfcTemplatedEntityList< IfcCartesianPoint >::ptr ControlPointsList() const; - void setControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void ControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); /// Used to identify particular types of curve; it is for information only. IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm() const; - void setCurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v); + void CurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v); /// Indication of whether the curve is closed; it is for information only. bool ClosedCurve() const; - void setClosedCurve(bool v); + void ClosedCurve(bool v); /// Indication whether the curve self-intersects or not; it is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::IfcCartesianPoint; case 2: return Type::IfcBSplineCurveForm; case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -33627,7 +32499,7 @@ class IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; - void setPredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v); + void PredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBeamTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -33688,7 +32560,7 @@ class IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; - void setPredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v); + void PredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBoilerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -34075,7 +32947,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElement (IfcAbstractEntity* e); - IfcBuildingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcBuildingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; @@ -34090,7 +32962,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementComponent (IfcAbstractEntity* e); - IfcBuildingElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcBuildingElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElementComponent > list; }; /// Definition from IAI: Layers or major components as subordinate @@ -34121,7 +32993,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementPart (IfcAbstractEntity* e); - IfcBuildingElementPart (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcBuildingElementPart (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; }; /// Definition from IAI: The IfcBuildingElementProxy @@ -34316,10 +33188,8 @@ public: /// are defined at this level. class IfcBuildingElementProxy : public IfcBuildingElement { public: - /// Whether the optional attribute CompositionType is defined for this IfcBuildingElementProxy - bool hasCompositionType() const; - IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType() const; - void setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v); + boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > CompositionType() const; + void CompositionType(boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElementCompositionEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -34329,7 +33199,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxy (IfcAbstractEntity* e); - IfcBuildingElementProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); + IfcBuildingElementProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; }; /// Definition from IAI: @@ -34370,7 +33240,7 @@ class IfcBuildingElementProxyType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; - void setPredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v); + void PredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBuildingElementProxyTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -34413,7 +33283,7 @@ class IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v); + void PredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableCarrierFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -34462,7 +33332,7 @@ class IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v); + void PredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableCarrierSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -34520,7 +33390,7 @@ class IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v); + void PredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -34569,7 +33439,7 @@ class IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; - void setPredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v); + void PredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcChillerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -34613,7 +33483,7 @@ class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; } return IfcConic::getArgumentEntity(i); } @@ -34657,7 +33527,7 @@ class IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v); + void PredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCoilTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -34952,7 +33822,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumn (IfcAbstractEntity* e); - IfcColumn (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcColumn (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcColumn > list; }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: @@ -34986,7 +33856,7 @@ class IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; - void setPredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v); + void PredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCompressorTypeEnum; } return IfcFlowMovingDeviceType::getArgumentEntity(i); } @@ -35030,7 +33900,7 @@ class IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; - void setPredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v); + void PredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCondenserTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -35062,9 +33932,9 @@ public: class IfcConditionCriterion : public IfcControl { public: IfcConditionCriterionSelect* Criterion() const; - void setCriterion(IfcConditionCriterionSelect* v); + void Criterion(IfcConditionCriterionSelect* v); IfcDateTimeSelect* CriterionDateTime() const; - void setCriterionDateTime(IfcDateTimeSelect* v); + void CriterionDateTime(IfcDateTimeSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcConditionCriterionSelect; case 6: return Type::IfcDateTimeSelect; } return IfcControl::getArgumentEntity(i); } @@ -35110,7 +33980,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionEquipmentResource (IfcAbstractEntity* e); - IfcConstructionEquipmentResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcConstructionEquipmentResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. @@ -35141,14 +34011,10 @@ public: /// Figure 184 — Construction material resource assignment class IfcConstructionMaterialResource : public IfcConstructionResource { public: - /// Whether the optional attribute Suppliers is defined for this IfcConstructionMaterialResource - bool hasSuppliers() const; - IfcEntityList::ptr Suppliers() const; - void setSuppliers(IfcEntityList::ptr v); - /// Whether the optional attribute UsageRatio is defined for this IfcConstructionMaterialResource - bool hasUsageRatio() const; - double UsageRatio() const; - void setUsageRatio(double v); + boost::optional< IfcEntityList::ptr > Suppliers() const; + void Suppliers(boost::optional< IfcEntityList::ptr > v); + boost::optional< double > UsageRatio() const; + void UsageRatio(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_DOUBLE; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcActorSelect; case 10: return Type::IfcRatioMeasure; } return IfcConstructionResource::getArgumentEntity(i); } @@ -35158,7 +34024,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionMaterialResource (IfcAbstractEntity* e); - IfcConstructionMaterialResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio); + IfcConstructionMaterialResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio); typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. @@ -35187,7 +34053,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionProductResource (IfcAbstractEntity* e); - IfcConstructionProductResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcConstructionProductResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, boost::optional< IfcMeasureWithUnit* > v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionProductResource > list; }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: @@ -35223,7 +34089,7 @@ class IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; - void setPredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v); + void PredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCooledBeamTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -35273,7 +34139,7 @@ class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v); + void PredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCoolingTowerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -35512,11 +34378,9 @@ public: /// Figure 95 — Covering body circular class IfcCovering : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCovering - bool hasPredefinedType() const; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. - IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v); + boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCoveringTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -35528,7 +34392,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCovering (IfcAbstractEntity* e); - IfcCovering (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); + IfcCovering (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall @@ -35680,7 +34544,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWall (IfcAbstractEntity* e); - IfcCurtainWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcCurtainWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: @@ -35721,7 +34585,7 @@ class IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; - void setPredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v); + void PredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDamperTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -35933,7 +34797,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessory (IfcAbstractEntity* e); - IfcDiscreteAccessory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDiscreteAccessory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type @@ -36179,7 +35043,7 @@ class IfcDistributionChamberElementType : public IfcDistributionFlowElementType public: /// Predefined types of distribution chambers. IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v); + void PredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionFlowElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDistributionChamberElementTypeEnum; } return IfcDistributionFlowElementType::getArgumentEntity(i); } @@ -36433,7 +35297,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElement (IfcAbstractEntity* e); - IfcDistributionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDistributionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionElement > list; }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. @@ -36516,7 +35380,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElement (IfcAbstractEntity* e); - IfcDistributionFlowElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDistributionFlowElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. @@ -36603,11 +35467,9 @@ public: /// 'Body': The shape of the port. class IfcDistributionPort : public IfcPort { public: - /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort - bool hasFlowDirection() const; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. - IfcFlowDirectionEnum::IfcFlowDirectionEnum FlowDirection() const; - void setFlowDirection(IfcFlowDirectionEnum::IfcFlowDirectionEnum v); + boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > FlowDirection() const; + void FlowDirection(boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; } return IfcPort::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcFlowDirectionEnum; } return IfcPort::getArgumentEntity(i); } @@ -36617,7 +35479,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionPort (IfcAbstractEntity* e); - IfcDistributionPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection); + IfcDistributionPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection); typedef IfcTemplatedEntityList< IfcDistributionPort > list; }; /// Definition from ISO 6707-1:1989: Construction for @@ -36978,20 +35840,16 @@ public: /// Figure 97 — Door swing class IfcDoor : public IfcBuildingElement { public: - /// Whether the optional attribute OverallHeight is defined for this IfcDoor - bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. - double OverallHeight() const; - void setOverallHeight(double v); - /// Whether the optional attribute OverallWidth is defined for this IfcDoor - bool hasOverallWidth() const; + boost::optional< double > OverallHeight() const; + void OverallHeight(boost::optional< double > v); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. - double OverallWidth() const; - void setOverallWidth(double v); + boost::optional< double > OverallWidth() const; + void OverallWidth(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; } return IfcBuildingElement::getArgumentEntity(i); } @@ -37001,7 +35859,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoor (IfcAbstractEntity* e); - IfcDoor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth); + IfcDoor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth); typedef IfcTemplatedEntityList< IfcDoor > list; }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: @@ -37037,7 +35895,7 @@ class IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v); + void PredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDuctFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -37083,7 +35941,7 @@ class IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v); + void PredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDuctSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -37126,7 +35984,7 @@ class IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v); + void PredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDuctSilencerTypeEnum; } return IfcFlowTreatmentDeviceType::getArgumentEntity(i); } @@ -37142,10 +36000,8 @@ public: class IfcEdgeFeature : public IfcFeatureElementSubtraction { public: - /// Whether the optional attribute FeatureLength is defined for this IfcEdgeFeature - bool hasFeatureLength() const; - double FeatureLength() const; - void setFeatureLength(double v); + boost::optional< double > FeatureLength() const; + void FeatureLength(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; } return IfcFeatureElementSubtraction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; } return IfcFeatureElementSubtraction::getArgumentEntity(i); } @@ -37155,7 +36011,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEdgeFeature (IfcAbstractEntity* e); - IfcEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength); + IfcEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength); typedef IfcTemplatedEntityList< IfcEdgeFeature > list; }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: @@ -37191,7 +36047,7 @@ class IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v); + void PredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricApplianceTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -37235,7 +36091,7 @@ class IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v); + void PredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowStorageDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricFlowStorageDeviceTypeEnum; } return IfcFlowStorageDeviceType::getArgumentEntity(i); } @@ -37284,7 +36140,7 @@ class IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v); + void PredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricGeneratorTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -37301,7 +36157,7 @@ public: class IfcElectricHeaterType : public IfcFlowTerminalType { public: IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v); + void PredefinedType(IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricHeaterTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -37345,7 +36201,7 @@ class IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v); + void PredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricMotorTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -37389,7 +36245,7 @@ class IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v); + void PredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricTimeControlTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -37429,7 +36285,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricalElement (IfcAbstractEntity* e); - IfcElectricalElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcElectricalElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElectricalElement > list; }; /// The distribution flow element IfcEnergyConversionDevice defines @@ -37452,7 +36308,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDevice (IfcAbstractEntity* e); - IfcEnergyConversionDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcEnergyConversionDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcEnergyConversionDevice > list; }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: @@ -37487,7 +36343,7 @@ class IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; - void setPredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v); + void PredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFanTypeEnum; } return IfcFlowMovingDeviceType::getArgumentEntity(i); } @@ -37533,7 +36389,7 @@ class IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; - void setPredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v); + void PredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFilterTypeEnum; } return IfcFlowTreatmentDeviceType::getArgumentEntity(i); } @@ -37583,7 +36439,7 @@ class IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v); + void PredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFireSuppressionTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -37616,7 +36472,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowController (IfcAbstractEntity* e); - IfcFlowController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowController > list; }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. @@ -37635,7 +36491,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFitting (IfcAbstractEntity* e); - IfcFlowFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowFitting > list; }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: @@ -37672,7 +36528,7 @@ class IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; - void setPredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v); + void PredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFlowInstrumentTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -37701,7 +36557,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDevice (IfcAbstractEntity* e); - IfcFlowMovingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowMovingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. @@ -37738,7 +36594,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegment (IfcAbstractEntity* e); - IfcFlowSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines @@ -37762,7 +36618,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDevice (IfcAbstractEntity* e); - IfcFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the @@ -37787,7 +36643,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminal (IfcAbstractEntity* e); - IfcFlowTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTerminal > list; }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. @@ -37806,7 +36662,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDevice (IfcAbstractEntity* e); - IfcFlowTreatmentDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice > list; }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. @@ -37837,7 +36693,7 @@ public: /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; - void setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v); + void PredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFootingTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -37847,7 +36703,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFooting (IfcAbstractEntity* e); - IfcFooting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType); + IfcFooting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFooting > list; }; /// An IfcMember is a @@ -38111,7 +36967,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMember (IfcAbstractEntity* e); - IfcMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcMember > list; }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. @@ -38138,14 +36994,12 @@ public: /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; - void setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); - /// Whether the optional attribute ConstructionType is defined for this IfcPile - bool hasConstructionType() const; + void PredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); /// General designator for how the pile is constructed. /// /// IFC 2x4 change:  Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. - IfcPileConstructionEnum::IfcPileConstructionEnum ConstructionType() const; - void setConstructionType(IfcPileConstructionEnum::IfcPileConstructionEnum v); + boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > ConstructionType() const; + void ConstructionType(boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPileTypeEnum; case 9: return Type::IfcPileConstructionEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -38155,7 +37009,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPile (IfcAbstractEntity* e); - IfcPile (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); + IfcPile (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); typedef IfcTemplatedEntityList< IfcPile > list; }; /// Definition from IAI: An IfcPlate is a planar and @@ -38397,7 +37251,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlate (IfcAbstractEntity* e); - IfcPlate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcPlate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcPlate > list; }; /// Definition of IAI: The railing is a frame assembly @@ -38534,13 +37388,11 @@ public: /// 'MappedRepresentation' class IfcRailing : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRailing - bool hasPredefinedType() const; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. /// IFC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute. - IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; - void setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v); + boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRailingTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -38550,7 +37402,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailing (IfcAbstractEntity* e); - IfcRailing (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); + IfcRailing (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor @@ -38689,7 +37541,7 @@ public: class IfcRamp : public IfcBuildingElement { public: IfcRampTypeEnum::IfcRampTypeEnum ShapeType() const; - void setShapeType(IfcRampTypeEnum::IfcRampTypeEnum v); + void ShapeType(IfcRampTypeEnum::IfcRampTypeEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRampTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -38699,7 +37551,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRamp (IfcAbstractEntity* e); - IfcRamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType); + IfcRamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType); typedef IfcTemplatedEntityList< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally @@ -38901,14 +37753,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlight (IfcAbstractEntity* e); - IfcRampFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcRampFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcRampFlight > list; }; class IfcRationalBezierCurve : public IfcBezierCurve { public: std::vector< double > /*[2:?]*/ WeightsData() const; - void setWeightsData(std::vector< double > /*[2:?]*/ v); + void WeightsData(std::vector< double > /*[2:?]*/ v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcBezierCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; } return IfcBezierCurve::getArgumentEntity(i); } @@ -38931,10 +37783,8 @@ public: /// Attributes PredefinedType and Role added. class IfcReinforcingElement : public IfcBuildingElementComponent { public: - /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement - bool hasSteelGrade() const; - std::string SteelGrade() const; - void setSteelGrade(std::string v); + boost::optional< std::string > SteelGrade() const; + void SteelGrade(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcBuildingElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLabel; } return IfcBuildingElementComponent::getArgumentEntity(i); } @@ -38944,7 +37794,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingElement (IfcAbstractEntity* e); - IfcReinforcingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); + IfcReinforcingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); typedef IfcTemplatedEntityList< IfcReinforcingElement > list; }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. @@ -38973,26 +37823,22 @@ public: /// Simplified geometric representations may be used based on local agreements. class IfcReinforcingMesh : public IfcReinforcingElement { public: - /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh - bool hasMeshLength() const; - double MeshLength() const; - void setMeshLength(double v); - /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh - bool hasMeshWidth() const; - double MeshWidth() const; - void setMeshWidth(double v); + boost::optional< double > MeshLength() const; + void MeshLength(boost::optional< double > v); + boost::optional< double > MeshWidth() const; + void MeshWidth(boost::optional< double > v); double LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(double v); + void LongitudinalBarNominalDiameter(double v); double TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(double v); + void TransverseBarNominalDiameter(double v); double LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(double v); + void LongitudinalBarCrossSectionArea(double v); double TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(double v); + void TransverseBarCrossSectionArea(double v); double LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(double v); + void LongitudinalBarSpacing(double v); double TransverseBarSpacing() const; - void setTransverseBarSpacing(double v); + void TransverseBarSpacing(double v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcAreaMeasure; case 14: return Type::IfcAreaMeasure; case 15: return Type::IfcPositiveLengthMeasure; case 16: return Type::IfcPositiveLengthMeasure; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -39002,7 +37848,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingMesh (IfcAbstractEntity* e); - IfcReinforcingMesh (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing); + IfcReinforcingMesh (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing); typedef IfcTemplatedEntityList< IfcReinforcingMesh > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. @@ -39153,7 +37999,7 @@ public: class IfcRoof : public IfcBuildingElement { public: IfcRoofTypeEnum::IfcRoofTypeEnum ShapeType() const; - void setShapeType(IfcRoofTypeEnum::IfcRoofTypeEnum v); + void ShapeType(IfcRoofTypeEnum::IfcRoofTypeEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRoofTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -39163,16 +38009,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoof (IfcAbstractEntity* e); - IfcRoof (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType); + IfcRoof (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType); typedef IfcTemplatedEntityList< IfcRoof > list; }; class IfcRoundedEdgeFeature : public IfcEdgeFeature { public: - /// Whether the optional attribute Radius is defined for this IfcRoundedEdgeFeature - bool hasRadius() const; - double Radius() const; - void setRadius(double v); + boost::optional< double > Radius() const; + void Radius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcEdgeFeature::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; } return IfcEdgeFeature::getArgumentEntity(i); } @@ -39182,7 +38026,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoundedEdgeFeature (IfcAbstractEntity* e); - IfcRoundedEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius); + IfcRoundedEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius); typedef IfcTemplatedEntityList< IfcRoundedEdgeFeature > list; }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: @@ -39237,7 +38081,7 @@ class IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; - void setPredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v); + void PredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSensorTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -39512,14 +38356,12 @@ public: /// Figure 121 — Slab body clipping class IfcSlab : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSlab - bool hasPredefinedType() const; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. /// /// FC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute. - IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; - void setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v); + boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSlabTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -39529,7 +38371,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlab (IfcAbstractEntity* e); - IfcSlab (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlab (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlab > list; }; /// Definition from ISO 6707-1:1989: Construction comprising @@ -39700,7 +38542,7 @@ public: class IfcStair : public IfcBuildingElement { public: IfcStairTypeEnum::IfcStairTypeEnum ShapeType() const; - void setShapeType(IfcStairTypeEnum::IfcStairTypeEnum v); + void ShapeType(IfcStairTypeEnum::IfcStairTypeEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcStairTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -39710,7 +38552,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStair (IfcAbstractEntity* e); - IfcStair (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType); + IfcStair (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType); typedef IfcTemplatedEntityList< IfcStair > list; }; /// A stair flight is an assembly of @@ -39882,34 +38724,26 @@ public: /// Figure 131 — Stair flight body class IfcStairFlight : public IfcBuildingElement { public: - /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight - bool hasNumberOfRiser() const; /// Number of the risers included in the stair flight /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfRisers instead. - int NumberOfRiser() const; - void setNumberOfRiser(int v); - /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight - bool hasNumberOfTreads() const; + boost::optional< int > NumberOfRiser() const; + void NumberOfRiser(boost::optional< int > v); /// Number of treads included in the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfTreads instead. - int NumberOfTreads() const; - void setNumberOfTreads(int v); - /// Whether the optional attribute RiserHeight is defined for this IfcStairFlight - bool hasRiserHeight() const; + boost::optional< int > NumberOfTreads() const; + void NumberOfTreads(boost::optional< int > v); /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - double RiserHeight() const; - void setRiserHeight(double v); - /// Whether the optional attribute TreadLength is defined for this IfcStairFlight - bool hasTreadLength() const; + boost::optional< double > RiserHeight() const; + void RiserHeight(boost::optional< double > v); /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - double TreadLength() const; - void setTreadLength(double v); + boost::optional< double > TreadLength() const; + void TreadLength(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_INT; case 9: return IfcUtil::Argument_INT; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; case 9: return Type::UNDEFINED; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; } return IfcBuildingElement::getArgumentEntity(i); } @@ -39919,7 +38753,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlight (IfcAbstractEntity* e); - IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength); + IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength); typedef IfcTemplatedEntityList< IfcStairFlight > list; }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. @@ -39949,9 +38783,7 @@ class IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType() const; - void setPredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v); - /// Whether the optional attribute OrientationOf2DPlane is defined for this IfcStructuralAnalysisModel - bool hasOrientationOf2DPlane() const; + void PredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v); /// If the selected model type (PredefinedType) describes a 2D system, the orientation defines /// the analysis plane (P[1], P[2]) and the normal to the analysis plane (P[3]). This is needed because /// structural items and activities are always defined in three-dimensional space even if they are @@ -39962,18 +38794,14 @@ public: /// In case of predefined type OUT_PLANE_LOADING_2D, only the P[3] component of loads and their /// effects is meant to be analyzed. This is used for beam grids and for typical slab analyses. /// In case of predefined type LOADING_3D, OrientationOf2DPlane shall be omitted. - IfcAxis2Placement3D* OrientationOf2DPlane() const; - void setOrientationOf2DPlane(IfcAxis2Placement3D* v); - /// Whether the optional attribute LoadedBy is defined for this IfcStructuralAnalysisModel - bool hasLoadedBy() const; + boost::optional< IfcAxis2Placement3D* > OrientationOf2DPlane() const; + void OrientationOf2DPlane(boost::optional< IfcAxis2Placement3D* > v); /// References to all load groups to be analyzed. - IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr LoadedBy() const; - void setLoadedBy(IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr v); - /// Whether the optional attribute HasResults is defined for this IfcStructuralAnalysisModel - bool hasHasResults() const; + boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > LoadedBy() const; + void LoadedBy(boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v); /// References to all result groups available for this structural analysis model. - IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr HasResults() const; - void setHasResults(IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > HasResults() const; + void HasResults(boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY_LIST; } return IfcSystem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisModelTypeEnum; case 6: return Type::IfcAxis2Placement3D; case 7: return Type::IfcStructuralLoadGroup; case 8: return Type::IfcStructuralResultGroup; } return IfcSystem::getArgumentEntity(i); } @@ -39983,38 +38811,28 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAnalysisModel (IfcAbstractEntity* e); - IfcStructuralAnalysisModel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults); + IfcStructuralAnalysisModel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, boost::optional< IfcAxis2Placement3D* > v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults); typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; class IfcTendon : public IfcReinforcingElement { public: IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; - void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); + void PredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); double NominalDiameter() const; - void setNominalDiameter(double v); + void NominalDiameter(double v); double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute TensionForce is defined for this IfcTendon - bool hasTensionForce() const; - double TensionForce() const; - void setTensionForce(double v); - /// Whether the optional attribute PreStress is defined for this IfcTendon - bool hasPreStress() const; - double PreStress() const; - void setPreStress(double v); - /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon - bool hasFrictionCoefficient() const; - double FrictionCoefficient() const; - void setFrictionCoefficient(double v); - /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon - bool hasAnchorageSlip() const; - double AnchorageSlip() const; - void setAnchorageSlip(double v); - /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon - bool hasMinCurvatureRadius() const; - double MinCurvatureRadius() const; - void setMinCurvatureRadius(double v); + void CrossSectionArea(double v); + boost::optional< double > TensionForce() const; + void TensionForce(boost::optional< double > v); + boost::optional< double > PreStress() const; + void PreStress(boost::optional< double > v); + boost::optional< double > FrictionCoefficient() const; + void FrictionCoefficient(boost::optional< double > v); + boost::optional< double > AnchorageSlip() const; + void AnchorageSlip(boost::optional< double > v); + boost::optional< double > MinCurvatureRadius() const; + void MinCurvatureRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTendonTypeEnum; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcAreaMeasure; case 12: return Type::IfcForceMeasure; case 13: return Type::IfcPressureMeasure; case 14: return Type::IfcNormalisedRatioMeasure; case 15: return Type::IfcPositiveLengthMeasure; case 16: return Type::IfcPositiveLengthMeasure; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -40024,7 +38842,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendon (IfcAbstractEntity* e); - IfcTendon (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); + IfcTendon (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); typedef IfcTemplatedEntityList< IfcTendon > list; }; @@ -40039,7 +38857,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonAnchor (IfcAbstractEntity* e); - IfcTendonAnchor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); + IfcTendonAnchor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); typedef IfcTemplatedEntityList< IfcTendonAnchor > list; }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: @@ -40068,7 +38886,7 @@ class IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { public: /// Defines the type of vibration isolator. IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v); + void PredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDiscreteAccessoryType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcVibrationIsolatorTypeEnum; } return IfcDiscreteAccessoryType::getArgumentEntity(i); } @@ -40334,7 +39152,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWall (IfcAbstractEntity* e); - IfcWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcWall > list; }; /// The IfcWallStandardCase defines a wall with certain @@ -40550,7 +39368,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallStandardCase (IfcAbstractEntity* e); - IfcWallStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcWallStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcWallStandardCase > list; }; /// Definition form ISO 6707-1:1989: Construction for @@ -40913,20 +39731,16 @@ public: /// Figure 144 — Window operations class IfcWindow : public IfcBuildingElement { public: - /// Whether the optional attribute OverallHeight is defined for this IfcWindow - bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. - double OverallHeight() const; - void setOverallHeight(double v); - /// Whether the optional attribute OverallWidth is defined for this IfcWindow - bool hasOverallWidth() const; + boost::optional< double > OverallHeight() const; + void OverallHeight(boost::optional< double > v); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. - double OverallWidth() const; - void setOverallWidth(double v); + boost::optional< double > OverallWidth() const; + void OverallWidth(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; } return IfcBuildingElement::getArgumentEntity(i); } @@ -40936,7 +39750,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindow (IfcAbstractEntity* e); - IfcWindow (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth); + IfcWindow (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth); typedef IfcTemplatedEntityList< IfcWindow > list; }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: @@ -40974,7 +39788,7 @@ class IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v); + void PredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcActuatorTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -41017,7 +39831,7 @@ class IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; - void setPredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v); + void PredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAlarmTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -41278,20 +40092,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeam (IfcAbstractEntity* e); - IfcBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBeam > list; }; class IfcChamferEdgeFeature : public IfcEdgeFeature { public: - /// Whether the optional attribute Width is defined for this IfcChamferEdgeFeature - bool hasWidth() const; - double Width() const; - void setWidth(double v); - /// Whether the optional attribute Height is defined for this IfcChamferEdgeFeature - bool hasHeight() const; - double Height() const; - void setHeight(double v); + boost::optional< double > Width() const; + void Width(boost::optional< double > v); + boost::optional< double > Height() const; + void Height(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcEdgeFeature::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; } return IfcEdgeFeature::getArgumentEntity(i); } @@ -41301,7 +40111,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChamferEdgeFeature (IfcAbstractEntity* e); - IfcChamferEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height); + IfcChamferEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height); typedef IfcTemplatedEntityList< IfcChamferEdgeFeature > list; }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: @@ -41344,7 +40154,7 @@ class IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; - void setPredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v); + void PredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcControllerTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -41399,7 +40209,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElement (IfcAbstractEntity* e); - IfcDistributionChamberElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDistributionChamberElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. @@ -41482,10 +40292,8 @@ public: /// If materials are defined, geometry of each representation (most typically the 'Body' representation) may be organized into shape aspects where styles may be derived by correlating IfcShapeAspect.Name to a corresponding material (IfcMaterialConstituent.Name). class IfcDistributionControlElement : public IfcDistributionElement { public: - /// Whether the optional attribute ControlElementId is defined for this IfcDistributionControlElement - bool hasControlElementId() const; - std::string ControlElementId() const; - void setControlElementId(std::string v); + boost::optional< std::string > ControlElementId() const; + void ControlElementId(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcDistributionElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcIdentifier; } return IfcDistributionElement::getArgumentEntity(i); } @@ -41496,18 +40304,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElement (IfcAbstractEntity* e); - IfcDistributionControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId); + IfcDistributionControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId); typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; }; class IfcElectricDistributionPoint : public IfcFlowController { public: IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum DistributionPointFunction() const; - void setDistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v); - /// Whether the optional attribute UserDefinedFunction is defined for this IfcElectricDistributionPoint - bool hasUserDefinedFunction() const; - std::string UserDefinedFunction() const; - void setUserDefinedFunction(std::string v); + void DistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v); + boost::optional< std::string > UserDefinedFunction() const; + void UserDefinedFunction(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricDistributionPointFunctionEnum; case 9: return Type::IfcLabel; } return IfcFlowController::getArgumentEntity(i); } @@ -41517,7 +40323,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricDistributionPoint (IfcAbstractEntity* e); - IfcElectricDistributionPoint (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction); + IfcElectricDistributionPoint (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction); typedef IfcTemplatedEntityList< IfcElectricDistributionPoint > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, @@ -41551,19 +40357,15 @@ public: class IfcReinforcingBar : public IfcReinforcingElement { public: double NominalDiameter() const; - void setNominalDiameter(double v); + void NominalDiameter(double v); double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar - bool hasBarLength() const; - double BarLength() const; - void setBarLength(double v); + void CrossSectionArea(double v); + boost::optional< double > BarLength() const; + void BarLength(boost::optional< double > v); IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum BarRole() const; - void setBarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBar - bool hasBarSurface() const; - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; - void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); + void BarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); + boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > BarSurface() const; + void BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENUMERATION; case 13: return IfcUtil::Argument_ENUMERATION; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcAreaMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcReinforcingBarRoleEnum; case 13: return Type::IfcReinforcingBarSurfaceEnum; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -41573,7 +40375,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingBar (IfcAbstractEntity* e); - IfcReinforcingBar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); + IfcReinforcingBar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); typedef IfcTemplatedEntityList< IfcReinforcingBar > list; }; diff --git a/src/ifcparse/Ifc4-latebound.cpp b/src/ifcparse/Ifc4-latebound.cpp index e95e364995..0de361995a 100644 --- a/src/ifcparse/Ifc4-latebound.cpp +++ b/src/ifcparse/Ifc4-latebound.cpp @@ -43,7 +43,7 @@ using namespace IfcUtil; typedef std::map entity_descriptor_map_t; typedef std::map enumeration_descriptor_map_t; -typedef std::map, std::pair > inverse_map_t; +typedef std::map > > inverse_map_t; typedef std::map > derived_map_t; entity_descriptor_map_t entity_descriptor_map; diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 11a59bc0b5..97e39a0613 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -7771,40 +7771,35 @@ IfcWarpingMomentMeasure::operator double() const { return *entity->getArgument(0 // Function implementations for IfcActionRequest -bool IfcActionRequest::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcActionRequestTypeEnum::IfcActionRequestTypeEnum IfcActionRequest::PredefinedType() const { return IfcActionRequestTypeEnum::FromString(*entity->getArgument(6)); } -void IfcActionRequest::setPredefinedType(IfcActionRequestTypeEnum::IfcActionRequestTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcActionRequestTypeEnum::ToString(v)); } -bool IfcActionRequest::hasStatus() const { return !entity->getArgument(7)->isNull(); } -std::string IfcActionRequest::Status() const { return *entity->getArgument(7); } -void IfcActionRequest::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcActionRequest::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } -std::string IfcActionRequest::LongDescription() const { return *entity->getArgument(8); } -void IfcActionRequest::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > IfcActionRequest::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcActionRequestTypeEnum::FromString(*arg); } } +void IfcActionRequest::PredefinedType(boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcActionRequestTypeEnum::ToString(*v));; } else { w->setArgument(6); } } +boost::optional< std::string > IfcActionRequest::Status() const { return *entity->getArgument(7); } +void IfcActionRequest::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcActionRequest::LongDescription() const { return *entity->getArgument(8); } +void IfcActionRequest::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcActionRequest::is(Type::Enum v) const { return v == Type::IfcActionRequest || IfcControl::is(v); } Type::Enum IfcActionRequest::type() const { return Type::IfcActionRequest; } Type::Enum IfcActionRequest::Class() { return Type::IfcActionRequest; } IfcActionRequest::IfcActionRequest(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcActionRequestTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcActionRequestTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActor IfcActorSelect* IfcActor::TheActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcActor::setTheActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcActor::TheActor(IfcActorSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return entity->getInverse(Type::IfcRelAssignsToActor, 6)->as(); } bool IfcActor::is(Type::Enum v) const { return v == Type::IfcActor || IfcObject::is(v); } Type::Enum IfcActor::type() const { return Type::IfcActor; } Type::Enum IfcActor::Class() { return Type::IfcActor; } IfcActor::IfcActor(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActor::IfcActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } +IfcActor::IfcActor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActorRole IfcRoleEnum::IfcRoleEnum IfcActorRole::Role() const { return IfcRoleEnum::FromString(*entity->getArgument(0)); } -void IfcActorRole::setRole(IfcRoleEnum::IfcRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcRoleEnum::ToString(v)); } -bool IfcActorRole::hasUserDefinedRole() const { return !entity->getArgument(1)->isNull(); } -std::string IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } -void IfcActorRole::setUserDefinedRole(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcActorRole::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcActorRole::Description() const { return *entity->getArgument(2); } -void IfcActorRole::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcActorRole::Role(IfcRoleEnum::IfcRoleEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcRoleEnum::ToString(v));; } +boost::optional< std::string > IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } +void IfcActorRole::UserDefinedRole(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcActorRole::Description() const { return *entity->getArgument(2); } +void IfcActorRole::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcExternalReferenceRelationship::list::ptr IfcActorRole::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } bool IfcActorRole::is(Type::Enum v) const { return v == Type::IfcActorRole; } Type::Enum IfcActorRole::type() const { return Type::IfcActorRole; } @@ -7813,34 +7808,30 @@ IfcActorRole::IfcActorRole(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuator -bool IfcActuator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuator::PredefinedType() const { return IfcActuatorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcActuator::setPredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcActuatorTypeEnum::ToString(v)); } +boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > IfcActuator::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcActuatorTypeEnum::FromString(*arg); } } +void IfcActuator::PredefinedType(boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcActuatorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcActuator::is(Type::Enum v) const { return v == Type::IfcActuator || IfcDistributionControlElement::is(v); } Type::Enum IfcActuator::type() const { return Type::IfcActuator; } Type::Enum IfcActuator::Class() { return Type::IfcActuator; } IfcActuator::IfcActuator(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuator::IfcActuator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcActuatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcActuator::IfcActuator(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcActuatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuatorType IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorType::PredefinedType() const { return IfcActuatorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcActuatorType::setPredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcActuatorTypeEnum::ToString(v)); } +void IfcActuatorType::PredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcActuatorTypeEnum::ToString(v));; } bool IfcActuatorType::is(Type::Enum v) const { return v == Type::IfcActuatorType || IfcDistributionControlElementType::is(v); } Type::Enum IfcActuatorType::type() const { return Type::IfcActuatorType; } Type::Enum IfcActuatorType::Class() { return Type::IfcActuatorType; } IfcActuatorType::IfcActuatorType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAddress -bool IfcAddress::hasPurpose() const { return !entity->getArgument(0)->isNull(); } -IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddress::Purpose() const { return IfcAddressTypeEnum::FromString(*entity->getArgument(0)); } -void IfcAddress::setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcAddressTypeEnum::ToString(v)); } -bool IfcAddress::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcAddress::Description() const { return *entity->getArgument(1); } -void IfcAddress::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAddress::hasUserDefinedPurpose() const { return !entity->getArgument(2)->isNull(); } -std::string IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } -void IfcAddress::setUserDefinedPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > IfcAddress::Purpose() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return IfcAddressTypeEnum::FromString(*arg); } } +void IfcAddress::Purpose(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v,IfcAddressTypeEnum::ToString(*v));; } else { w->setArgument(0); } } +boost::optional< std::string > IfcAddress::Description() const { return *entity->getArgument(1); } +void IfcAddress::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } +void IfcAddress::UserDefinedPurpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcPerson::list::ptr IfcAddress::OfPerson() const { return entity->getInverse(Type::IfcPerson, 7)->as(); } IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return entity->getInverse(Type::IfcOrganization, 4)->as(); } bool IfcAddress::is(Type::Enum v) const { return v == Type::IfcAddress; } @@ -7858,7 +7849,7 @@ IfcAdvancedBrep::IfcAdvancedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBre // Function implementations for IfcAdvancedBrepWithVoids IfcTemplatedEntityList< IfcClosedShell >::ptr IfcAdvancedBrepWithVoids::Voids() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcAdvancedBrepWithVoids::setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcAdvancedBrepWithVoids::Voids(IfcTemplatedEntityList< IfcClosedShell >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcAdvancedBrepWithVoids::is(Type::Enum v) const { return v == Type::IfcAdvancedBrepWithVoids || IfcAdvancedBrep::is(v); } Type::Enum IfcAdvancedBrepWithVoids::type() const { return Type::IfcAdvancedBrepWithVoids; } Type::Enum IfcAdvancedBrepWithVoids::Class() { return Type::IfcAdvancedBrepWithVoids; } @@ -7873,80 +7864,76 @@ IfcAdvancedFace::IfcAdvancedFace(IfcAbstractEntity* e) : IfcFaceSurface((IfcAbst IfcAdvancedFace::IfcAdvancedFace(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bounds)->generalize()); e->setArgument(1,(v2_FaceSurface)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminal -bool IfcAirTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminal::PredefinedType() const { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(8)); } -void IfcAirTerminal::setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAirTerminalTypeEnum::ToString(v)); } +boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > IfcAirTerminal::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAirTerminalTypeEnum::FromString(*arg); } } +void IfcAirTerminal::PredefinedType(boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAirTerminalTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcAirTerminal::is(Type::Enum v) const { return v == Type::IfcAirTerminal || IfcFlowTerminal::is(v); } Type::Enum IfcAirTerminal::type() const { return Type::IfcAirTerminal; } Type::Enum IfcAirTerminal::Class() { return Type::IfcAirTerminal; } IfcAirTerminal::IfcAirTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBox -bool IfcAirTerminalBox::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBox::PredefinedType() const { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(8)); } -void IfcAirTerminalBox::setPredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAirTerminalBoxTypeEnum::ToString(v)); } +boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > IfcAirTerminalBox::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAirTerminalBoxTypeEnum::FromString(*arg); } } +void IfcAirTerminalBox::PredefinedType(boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAirTerminalBoxTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcAirTerminalBox::is(Type::Enum v) const { return v == Type::IfcAirTerminalBox || IfcFlowController::is(v); } Type::Enum IfcAirTerminalBox::type() const { return Type::IfcAirTerminalBox; } Type::Enum IfcAirTerminalBox::Class() { return Type::IfcAirTerminalBox; } IfcAirTerminalBox::IfcAirTerminalBox(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBoxType IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxType::PredefinedType() const { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAirTerminalBoxType::setPredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAirTerminalBoxTypeEnum::ToString(v)); } +void IfcAirTerminalBoxType::PredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAirTerminalBoxTypeEnum::ToString(v));; } bool IfcAirTerminalBoxType::is(Type::Enum v) const { return v == Type::IfcAirTerminalBoxType || IfcFlowControllerType::is(v); } Type::Enum IfcAirTerminalBoxType::type() const { return Type::IfcAirTerminalBoxType; } Type::Enum IfcAirTerminalBoxType::Class() { return Type::IfcAirTerminalBoxType; } IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalType IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalType::PredefinedType() const { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAirTerminalType::setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAirTerminalTypeEnum::ToString(v)); } +void IfcAirTerminalType::PredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAirTerminalTypeEnum::ToString(v));; } bool IfcAirTerminalType::is(Type::Enum v) const { return v == Type::IfcAirTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcAirTerminalType::type() const { return Type::IfcAirTerminalType; } Type::Enum IfcAirTerminalType::Class() { return Type::IfcAirTerminalType; } IfcAirTerminalType::IfcAirTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecovery -bool IfcAirToAirHeatRecovery::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecovery::PredefinedType() const { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(8)); } -void IfcAirToAirHeatRecovery::setPredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAirToAirHeatRecoveryTypeEnum::ToString(v)); } +boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > IfcAirToAirHeatRecovery::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*arg); } } +void IfcAirToAirHeatRecovery::PredefinedType(boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAirToAirHeatRecoveryTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcAirToAirHeatRecovery::is(Type::Enum v) const { return v == Type::IfcAirToAirHeatRecovery || IfcEnergyConversionDevice::is(v); } Type::Enum IfcAirToAirHeatRecovery::type() const { return Type::IfcAirToAirHeatRecovery; } Type::Enum IfcAirToAirHeatRecovery::Class() { return Type::IfcAirToAirHeatRecovery; } IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecovery)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecoveryType IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryType::PredefinedType() const { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAirToAirHeatRecoveryType::setPredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAirToAirHeatRecoveryTypeEnum::ToString(v)); } +void IfcAirToAirHeatRecoveryType::PredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAirToAirHeatRecoveryTypeEnum::ToString(v));; } bool IfcAirToAirHeatRecoveryType::is(Type::Enum v) const { return v == Type::IfcAirToAirHeatRecoveryType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcAirToAirHeatRecoveryType::type() const { return Type::IfcAirToAirHeatRecoveryType; } Type::Enum IfcAirToAirHeatRecoveryType::Class() { return Type::IfcAirToAirHeatRecoveryType; } IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarm -bool IfcAlarm::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarm::PredefinedType() const { return IfcAlarmTypeEnum::FromString(*entity->getArgument(8)); } -void IfcAlarm::setPredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAlarmTypeEnum::ToString(v)); } +boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > IfcAlarm::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAlarmTypeEnum::FromString(*arg); } } +void IfcAlarm::PredefinedType(boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAlarmTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcAlarm::is(Type::Enum v) const { return v == Type::IfcAlarm || IfcDistributionControlElement::is(v); } Type::Enum IfcAlarm::type() const { return Type::IfcAlarm; } Type::Enum IfcAlarm::Class() { return Type::IfcAlarm; } IfcAlarm::IfcAlarm(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarm)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarm::IfcAlarm(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAlarmTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAlarm::IfcAlarm(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAlarmTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarmType IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmType::PredefinedType() const { return IfcAlarmTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAlarmType::setPredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAlarmTypeEnum::ToString(v)); } +void IfcAlarmType::PredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAlarmTypeEnum::ToString(v));; } bool IfcAlarmType::is(Type::Enum v) const { return v == Type::IfcAlarmType || IfcDistributionControlElementType::is(v); } Type::Enum IfcAlarmType::type() const { return Type::IfcAlarmType; } Type::Enum IfcAlarmType::Class() { return Type::IfcAlarmType; } IfcAlarmType::IfcAlarmType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotation IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } @@ -7954,14 +7941,13 @@ bool IfcAnnotation::is(Type::Enum v) const { return v == Type::IfcAnnotation || Type::Enum IfcAnnotation::type() const { return Type::IfcAnnotation; } Type::Enum IfcAnnotation::Class() { return Type::IfcAnnotation; } IfcAnnotation::IfcAnnotation(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillArea IfcCurve* IfcAnnotationFillArea::OuterBoundary() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcAnnotationFillArea::setOuterBoundary(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAnnotationFillArea::hasInnerBoundaries() const { return !entity->getArgument(1)->isNull(); } -IfcTemplatedEntityList< IfcCurve >::ptr IfcAnnotationFillArea::InnerBoundaries() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcAnnotationFillArea::setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcAnnotationFillArea::OuterBoundary(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > IfcAnnotationFillArea::InnerBoundaries() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcAnnotationFillArea::InnerBoundaries(boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,(*v)->generalize());; } else { w->setArgument(1); } } bool IfcAnnotationFillArea::is(Type::Enum v) const { return v == Type::IfcAnnotationFillArea || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcAnnotationFillArea::type() const { return Type::IfcAnnotationFillArea; } Type::Enum IfcAnnotationFillArea::Class() { return Type::IfcAnnotationFillArea; } @@ -7970,13 +7956,13 @@ IfcAnnotationFillArea::IfcAnnotationFillArea(IfcCurve* v1_OuterBoundary, boost:: // Function implementations for IfcApplication IfcOrganization* IfcApplication::ApplicationDeveloper() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcApplication::setApplicationDeveloper(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcApplication::ApplicationDeveloper(IfcOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcApplication::Version() const { return *entity->getArgument(1); } -void IfcApplication::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcApplication::Version(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } std::string IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } -void IfcApplication::setApplicationFullName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcApplication::ApplicationFullName(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } std::string IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } -void IfcApplication::setApplicationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcApplication::ApplicationIdentifier(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcApplication::is(Type::Enum v) const { return v == Type::IfcApplication; } Type::Enum IfcApplication::type() const { return Type::IfcApplication; } Type::Enum IfcApplication::Class() { return Type::IfcApplication; } @@ -7984,71 +7970,52 @@ IfcApplication::IfcApplication(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValue -bool IfcAppliedValue::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcAppliedValue::Name() const { return *entity->getArgument(0); } -void IfcAppliedValue::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAppliedValue::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcAppliedValue::Description() const { return *entity->getArgument(1); } -void IfcAppliedValue::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAppliedValue::hasAppliedValue() const { return !entity->getArgument(2)->isNull(); } -IfcAppliedValueSelect* IfcAppliedValue::AppliedValue() const { return (IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcAppliedValue::hasUnitBasis() const { return !entity->getArgument(3)->isNull(); } -IfcMeasureWithUnit* IfcAppliedValue::UnitBasis() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcAppliedValue::setUnitBasis(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcAppliedValue::hasApplicableDate() const { return !entity->getArgument(4)->isNull(); } -std::string IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } -void IfcAppliedValue::setApplicableDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcAppliedValue::hasFixedUntilDate() const { return !entity->getArgument(5)->isNull(); } -std::string IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } -void IfcAppliedValue::setFixedUntilDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcAppliedValue::hasCategory() const { return !entity->getArgument(6)->isNull(); } -std::string IfcAppliedValue::Category() const { return *entity->getArgument(6); } -void IfcAppliedValue::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcAppliedValue::hasCondition() const { return !entity->getArgument(7)->isNull(); } -std::string IfcAppliedValue::Condition() const { return *entity->getArgument(7); } -void IfcAppliedValue::setCondition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcAppliedValue::hasArithmeticOperator() const { return !entity->getArgument(8)->isNull(); } -IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValue::ArithmeticOperator() const { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(8)); } -void IfcAppliedValue::setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcArithmeticOperatorEnum::ToString(v)); } -bool IfcAppliedValue::hasComponents() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcAppliedValue::Components() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcAppliedValue::setComponents(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +boost::optional< std::string > IfcAppliedValue::Name() const { return *entity->getArgument(0); } +void IfcAppliedValue::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcAppliedValue::Description() const { return *entity->getArgument(1); } +void IfcAppliedValue::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcAppliedValueSelect* > IfcAppliedValue::AppliedValue() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAppliedValue::AppliedValue(boost::optional< IfcAppliedValueSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcMeasureWithUnit* > IfcAppliedValue::UnitBasis() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAppliedValue::UnitBasis(boost::optional< IfcMeasureWithUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } +void IfcAppliedValue::ApplicableDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } +void IfcAppliedValue::FixedUntilDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcAppliedValue::Category() const { return *entity->getArgument(6); } +void IfcAppliedValue::Category(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcAppliedValue::Condition() const { return *entity->getArgument(7); } +void IfcAppliedValue::Condition(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > IfcAppliedValue::ArithmeticOperator() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcArithmeticOperatorEnum::FromString(*arg); } } +void IfcAppliedValue::ArithmeticOperator(boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcArithmeticOperatorEnum::ToString(*v));; } else { w->setArgument(8); } } +boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > IfcAppliedValue::Components() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcAppliedValue::Components(boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,(*v)->generalize());; } else { w->setArgument(9); } } IfcExternalReferenceRelationship::list::ptr IfcAppliedValue::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } bool IfcAppliedValue::is(Type::Enum v) const { return v == Type::IfcAppliedValue; } Type::Enum IfcAppliedValue::type() const { return Type::IfcAppliedValue; } Type::Enum IfcAppliedValue::Class() { return Type::IfcAppliedValue; } IfcAppliedValue::IfcAppliedValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } if (v4_UnitBasis) { e->setArgument(3,(*v4_UnitBasis)); } else { e->setArgument(3); } if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApproval -bool IfcApproval::hasIdentifier() const { return !entity->getArgument(0)->isNull(); } -std::string IfcApproval::Identifier() const { return *entity->getArgument(0); } -void IfcApproval::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcApproval::hasName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcApproval::Name() const { return *entity->getArgument(1); } -void IfcApproval::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcApproval::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcApproval::Description() const { return *entity->getArgument(2); } -void IfcApproval::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcApproval::hasTimeOfApproval() const { return !entity->getArgument(3)->isNull(); } -std::string IfcApproval::TimeOfApproval() const { return *entity->getArgument(3); } -void IfcApproval::setTimeOfApproval(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcApproval::hasStatus() const { return !entity->getArgument(4)->isNull(); } -std::string IfcApproval::Status() const { return *entity->getArgument(4); } -void IfcApproval::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcApproval::hasLevel() const { return !entity->getArgument(5)->isNull(); } -std::string IfcApproval::Level() const { return *entity->getArgument(5); } -void IfcApproval::setLevel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcApproval::hasQualifier() const { return !entity->getArgument(6)->isNull(); } -std::string IfcApproval::Qualifier() const { return *entity->getArgument(6); } -void IfcApproval::setQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcApproval::hasRequestingApproval() const { return !entity->getArgument(7)->isNull(); } -IfcActorSelect* IfcApproval::RequestingApproval() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcApproval::setRequestingApproval(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcApproval::hasGivingApproval() const { return !entity->getArgument(8)->isNull(); } -IfcActorSelect* IfcApproval::GivingApproval() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcApproval::setGivingApproval(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcApproval::Identifier() const { return *entity->getArgument(0); } +void IfcApproval::Identifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcApproval::Name() const { return *entity->getArgument(1); } +void IfcApproval::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcApproval::Description() const { return *entity->getArgument(2); } +void IfcApproval::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcApproval::TimeOfApproval() const { return *entity->getArgument(3); } +void IfcApproval::TimeOfApproval(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcApproval::Status() const { return *entity->getArgument(4); } +void IfcApproval::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcApproval::Level() const { return *entity->getArgument(5); } +void IfcApproval::Level(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcApproval::Qualifier() const { return *entity->getArgument(6); } +void IfcApproval::Qualifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcActorSelect* > IfcApproval::RequestingApproval() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcApproval::RequestingApproval(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcActorSelect* > IfcApproval::GivingApproval() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcApproval::GivingApproval(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcExternalReferenceRelationship::list::ptr IfcApproval::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } IfcRelAssociatesApproval::list::ptr IfcApproval::ApprovedObjects() const { return entity->getInverse(Type::IfcRelAssociatesApproval, 5)->as(); } IfcResourceApprovalRelationship::list::ptr IfcApproval::ApprovedResources() const { return entity->getInverse(Type::IfcResourceApprovalRelationship, 3)->as(); } @@ -8058,13 +8025,13 @@ bool IfcApproval::is(Type::Enum v) const { return v == Type::IfcApproval; } Type::Enum IfcApproval::type() const { return Type::IfcApproval; } Type::Enum IfcApproval::Class() { return Type::IfcApproval; } IfcApproval::IfcApproval(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, IfcActorSelect* v8_RequestingApproval, IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_TimeOfApproval) { e->setArgument(3,(*v4_TimeOfApproval)); } else { e->setArgument(3); } if (v5_Status) { e->setArgument(4,(*v5_Status)); } else { e->setArgument(4); } if (v6_Level) { e->setArgument(5,(*v6_Level)); } else { e->setArgument(5); } if (v7_Qualifier) { e->setArgument(6,(*v7_Qualifier)); } else { e->setArgument(6); } e->setArgument(7,(v8_RequestingApproval)); e->setArgument(8,(v9_GivingApproval)); entity = e; EntityBuffer::Add(this); } +IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, boost::optional< IfcActorSelect* > v8_RequestingApproval, boost::optional< IfcActorSelect* > v9_GivingApproval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_TimeOfApproval) { e->setArgument(3,(*v4_TimeOfApproval)); } else { e->setArgument(3); } if (v5_Status) { e->setArgument(4,(*v5_Status)); } else { e->setArgument(4); } if (v6_Level) { e->setArgument(5,(*v6_Level)); } else { e->setArgument(5); } if (v7_Qualifier) { e->setArgument(6,(*v7_Qualifier)); } else { e->setArgument(6); } if (v8_RequestingApproval) { e->setArgument(7,(*v8_RequestingApproval)); } else { e->setArgument(7); } if (v9_GivingApproval) { e->setArgument(8,(*v9_GivingApproval)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalRelationship IfcApproval* IfcApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcApprovalRelationship::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcApprovalRelationship::RelatingApproval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcApproval >::ptr IfcApprovalRelationship::RelatedApprovals() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcApprovalRelationship::setRelatedApprovals(IfcTemplatedEntityList< IfcApproval >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcApprovalRelationship::RelatedApprovals(IfcTemplatedEntityList< IfcApproval >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcApprovalRelationship::type() const { return Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::Class() { return Type::IfcApprovalRelationship; } @@ -8073,7 +8040,7 @@ IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > // Function implementations for IfcArbitraryClosedProfileDef IfcCurve* IfcArbitraryClosedProfileDef::OuterCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcArbitraryClosedProfileDef::setOuterCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcArbitraryClosedProfileDef::OuterCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcArbitraryClosedProfileDef::is(Type::Enum v) const { return v == Type::IfcArbitraryClosedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcArbitraryClosedProfileDef::type() const { return Type::IfcArbitraryClosedProfileDef; } Type::Enum IfcArbitraryClosedProfileDef::Class() { return Type::IfcArbitraryClosedProfileDef; } @@ -8082,7 +8049,7 @@ IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::I // Function implementations for IfcArbitraryOpenProfileDef IfcBoundedCurve* IfcArbitraryOpenProfileDef::Curve() const { return (IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcArbitraryOpenProfileDef::setCurve(IfcBoundedCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcArbitraryOpenProfileDef::Curve(IfcBoundedCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcArbitraryOpenProfileDef::is(Type::Enum v) const { return v == Type::IfcArbitraryOpenProfileDef || IfcProfileDef::is(v); } Type::Enum IfcArbitraryOpenProfileDef::type() const { return Type::IfcArbitraryOpenProfileDef; } Type::Enum IfcArbitraryOpenProfileDef::Class() { return Type::IfcArbitraryOpenProfileDef; } @@ -8091,7 +8058,7 @@ IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcPr // Function implementations for IfcArbitraryProfileDefWithVoids IfcTemplatedEntityList< IfcCurve >::ptr IfcArbitraryProfileDefWithVoids::InnerCurves() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcArbitraryProfileDefWithVoids::setInnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcArbitraryProfileDefWithVoids::InnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcArbitraryProfileDefWithVoids::is(Type::Enum v) const { return v == Type::IfcArbitraryProfileDefWithVoids || IfcArbitraryClosedProfileDef::is(v); } Type::Enum IfcArbitraryProfileDefWithVoids::type() const { return Type::IfcArbitraryProfileDefWithVoids; } Type::Enum IfcArbitraryProfileDefWithVoids::Class() { return Type::IfcArbitraryProfileDefWithVoids; } @@ -8099,140 +8066,119 @@ IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEnti IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsset -bool IfcAsset::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -std::string IfcAsset::Identification() const { return *entity->getArgument(5); } -void IfcAsset::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcAsset::hasOriginalValue() const { return !entity->getArgument(6)->isNull(); } -IfcCostValue* IfcAsset::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcAsset::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcAsset::hasCurrentValue() const { return !entity->getArgument(7)->isNull(); } -IfcCostValue* IfcAsset::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcAsset::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcAsset::hasTotalReplacementCost() const { return !entity->getArgument(8)->isNull(); } -IfcCostValue* IfcAsset::TotalReplacementCost() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcAsset::setTotalReplacementCost(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcAsset::hasOwner() const { return !entity->getArgument(9)->isNull(); } -IfcActorSelect* IfcAsset::Owner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcAsset::setOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcAsset::hasUser() const { return !entity->getArgument(10)->isNull(); } -IfcActorSelect* IfcAsset::User() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcAsset::setUser(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcAsset::hasResponsiblePerson() const { return !entity->getArgument(11)->isNull(); } -IfcPerson* IfcAsset::ResponsiblePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcAsset::setResponsiblePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcAsset::hasIncorporationDate() const { return !entity->getArgument(12)->isNull(); } -std::string IfcAsset::IncorporationDate() const { return *entity->getArgument(12); } -void IfcAsset::setIncorporationDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcAsset::hasDepreciatedValue() const { return !entity->getArgument(13)->isNull(); } -IfcCostValue* IfcAsset::DepreciatedValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } -void IfcAsset::setDepreciatedValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +boost::optional< std::string > IfcAsset::Identification() const { return *entity->getArgument(5); } +void IfcAsset::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcCostValue* > IfcAsset::OriginalValue() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::OriginalValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcCostValue* > IfcAsset::CurrentValue() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::CurrentValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcCostValue* > IfcAsset::TotalReplacementCost() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::TotalReplacementCost(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcActorSelect* > IfcAsset::Owner() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::Owner(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcActorSelect* > IfcAsset::User() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::User(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcPerson* > IfcAsset::ResponsiblePerson() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::ResponsiblePerson(boost::optional< IfcPerson* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcAsset::IncorporationDate() const { return *entity->getArgument(12); } +void IfcAsset::IncorporationDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcCostValue* > IfcAsset::DepreciatedValue() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAsset::DepreciatedValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } bool IfcAsset::is(Type::Enum v) const { return v == Type::IfcAsset || IfcGroup::is(v); } Type::Enum IfcAsset::type() const { return Type::IfcAsset; } Type::Enum IfcAsset::Class() { return Type::IfcAsset; } IfcAsset::IfcAsset(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsset::IfcAsset(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect* v10_Owner, IfcActorSelect* v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); e->setArgument(9,(v10_Owner)); e->setArgument(10,(v11_User)); e->setArgument(11,(v12_ResponsiblePerson)); if (v13_IncorporationDate) { e->setArgument(12,(*v13_IncorporationDate)); } else { e->setArgument(12); } e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } +IfcAsset::IfcAsset(std::string v1_GlobalId, boost::optional< 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< IfcCostValue* > v7_OriginalValue, boost::optional< IfcCostValue* > v8_CurrentValue, boost::optional< IfcCostValue* > v9_TotalReplacementCost, boost::optional< IfcActorSelect* > v10_Owner, boost::optional< IfcActorSelect* > v11_User, boost::optional< IfcPerson* > v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, boost::optional< IfcCostValue* > v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_OriginalValue) { e->setArgument(6,(*v7_OriginalValue)); } else { e->setArgument(6); } if (v8_CurrentValue) { e->setArgument(7,(*v8_CurrentValue)); } else { e->setArgument(7); } if (v9_TotalReplacementCost) { e->setArgument(8,(*v9_TotalReplacementCost)); } else { e->setArgument(8); } if (v10_Owner) { e->setArgument(9,(*v10_Owner)); } else { e->setArgument(9); } if (v11_User) { e->setArgument(10,(*v11_User)); } else { e->setArgument(10); } if (v12_ResponsiblePerson) { e->setArgument(11,(*v12_ResponsiblePerson)); } else { e->setArgument(11); } if (v13_IncorporationDate) { e->setArgument(12,(*v13_IncorporationDate)); } else { e->setArgument(12); } if (v14_DepreciatedValue) { e->setArgument(13,(*v14_DepreciatedValue)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsymmetricIShapeProfileDef double IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { return *entity->getArgument(3); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcAsymmetricIShapeProfileDef::BottomFlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcAsymmetricIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } -void IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcAsymmetricIShapeProfileDef::OverallDepth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcAsymmetricIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcAsymmetricIShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { return *entity->getArgument(6); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { return *entity->getArgument(7); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcAsymmetricIShapeProfileDef::BottomFlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { return *entity->getArgument(7); } +void IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } double IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !entity->getArgument(9)->isNull(); } -double IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !entity->getArgument(10)->isNull(); } -double IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeEdgeRadius() const { return !entity->getArgument(11)->isNull(); } -double IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { return *entity->getArgument(11); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeSlope() const { return !entity->getArgument(12)->isNull(); } -double IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { return *entity->getArgument(12); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeEdgeRadius() const { return !entity->getArgument(13)->isNull(); } -double IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { return *entity->getArgument(13); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeSlope() const { return !entity->getArgument(14)->isNull(); } -double IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { return *entity->getArgument(14); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +void IfcAsymmetricIShapeProfileDef::TopFlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } +boost::optional< double > IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } +void IfcAsymmetricIShapeProfileDef::TopFlangeThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } +void IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { return *entity->getArgument(11); } +void IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { return *entity->getArgument(12); } +void IfcAsymmetricIShapeProfileDef::BottomFlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { return *entity->getArgument(13); } +void IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { return *entity->getArgument(14); } +void IfcAsymmetricIShapeProfileDef::TopFlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } bool IfcAsymmetricIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcAsymmetricIShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcAsymmetricIShapeProfileDef::type() const { return Type::IfcAsymmetricIShapeProfileDef; } Type::Enum IfcAsymmetricIShapeProfileDef::Class() { return Type::IfcAsymmetricIShapeProfileDef; } IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomFlangeWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) { e->setArgument(7,(*v8_BottomFlangeFilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_BottomFlangeEdgeRadius) { e->setArgument(11,(*v12_BottomFlangeEdgeRadius)); } else { e->setArgument(11); } if (v13_BottomFlangeSlope) { e->setArgument(12,(*v13_BottomFlangeSlope)); } else { e->setArgument(12); } if (v14_TopFlangeEdgeRadius) { e->setArgument(13,(*v14_TopFlangeEdgeRadius)); } else { e->setArgument(13); } if (v15_TopFlangeSlope) { e->setArgument(14,(*v15_TopFlangeSlope)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_BottomFlangeWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) { e->setArgument(7,(*v8_BottomFlangeFilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_BottomFlangeEdgeRadius) { e->setArgument(11,(*v12_BottomFlangeEdgeRadius)); } else { e->setArgument(11); } if (v13_BottomFlangeSlope) { e->setArgument(12,(*v13_BottomFlangeSlope)); } else { e->setArgument(12); } if (v14_TopFlangeEdgeRadius) { e->setArgument(13,(*v14_TopFlangeEdgeRadius)); } else { e->setArgument(13); } if (v15_TopFlangeSlope) { e->setArgument(14,(*v15_TopFlangeSlope)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAudioVisualAppliance -bool IfcAudioVisualAppliance::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum IfcAudioVisualAppliance::PredefinedType() const { return IfcAudioVisualApplianceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcAudioVisualAppliance::setPredefinedType(IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAudioVisualApplianceTypeEnum::ToString(v)); } +boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > IfcAudioVisualAppliance::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAudioVisualApplianceTypeEnum::FromString(*arg); } } +void IfcAudioVisualAppliance::PredefinedType(boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAudioVisualApplianceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcAudioVisualAppliance::is(Type::Enum v) const { return v == Type::IfcAudioVisualAppliance || IfcFlowTerminal::is(v); } Type::Enum IfcAudioVisualAppliance::type() const { return Type::IfcAudioVisualAppliance; } Type::Enum IfcAudioVisualAppliance::Class() { return Type::IfcAudioVisualAppliance; } IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAudioVisualApplianceType IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum IfcAudioVisualApplianceType::PredefinedType() const { return IfcAudioVisualApplianceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcAudioVisualApplianceType::setPredefinedType(IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAudioVisualApplianceTypeEnum::ToString(v)); } +void IfcAudioVisualApplianceType::PredefinedType(IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAudioVisualApplianceTypeEnum::ToString(v));; } bool IfcAudioVisualApplianceType::is(Type::Enum v) const { return v == Type::IfcAudioVisualApplianceType || IfcFlowTerminalType::is(v); } Type::Enum IfcAudioVisualApplianceType::type() const { return Type::IfcAudioVisualApplianceType; } Type::Enum IfcAudioVisualApplianceType::Class() { return Type::IfcAudioVisualApplianceType; } IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis1Placement -bool IfcAxis1Placement::hasAxis() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis1Placement::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAxis1Placement::setAxis(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcDirection* > IfcAxis1Placement::Axis() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis1Placement::Axis(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcAxis1Placement::is(Type::Enum v) const { return v == Type::IfcAxis1Placement || IfcPlacement::is(v); } Type::Enum IfcAxis1Placement::type() const { return Type::IfcAxis1Placement; } Type::Enum IfcAxis1Placement::Class() { return Type::IfcAxis1Placement; } IfcAxis1Placement::IfcAxis1Placement(IfcAbstractEntity* e) : IfcPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAxis1Placement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAxis1Placement::IfcAxis1Placement(IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_Axis)); entity = e; EntityBuffer::Add(this); } +IfcAxis1Placement::IfcAxis1Placement(IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); if (v2_Axis) { e->setArgument(1,(*v2_Axis)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis2Placement2D -bool IfcAxis2Placement2D::hasRefDirection() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement2D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAxis2Placement2D::setRefDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcDirection* > IfcAxis2Placement2D::RefDirection() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis2Placement2D::RefDirection(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcAxis2Placement2D::is(Type::Enum v) const { return v == Type::IfcAxis2Placement2D || IfcPlacement::is(v); } Type::Enum IfcAxis2Placement2D::type() const { return Type::IfcAxis2Placement2D; } Type::Enum IfcAxis2Placement2D::Class() { return Type::IfcAxis2Placement2D; } IfcAxis2Placement2D::IfcAxis2Placement2D(IfcAbstractEntity* e) : IfcPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAxis2Placement2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAxis2Placement2D::IfcAxis2Placement2D(IfcCartesianPoint* v1_Location, IfcDirection* v2_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcAxis2Placement2D::IfcAxis2Placement2D(IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); if (v2_RefDirection) { e->setArgument(1,(*v2_RefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis2Placement3D -bool IfcAxis2Placement3D::hasAxis() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement3D::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcAxis2Placement3D::setAxis(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAxis2Placement3D::hasRefDirection() const { return !entity->getArgument(2)->isNull(); } -IfcDirection* IfcAxis2Placement3D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcAxis2Placement3D::setRefDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcDirection* > IfcAxis2Placement3D::Axis() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis2Placement3D::Axis(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcDirection* > IfcAxis2Placement3D::RefDirection() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcAxis2Placement3D::RefDirection(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcAxis2Placement3D::is(Type::Enum v) const { return v == Type::IfcAxis2Placement3D || IfcPlacement::is(v); } Type::Enum IfcAxis2Placement3D::type() const { return Type::IfcAxis2Placement3D; } Type::Enum IfcAxis2Placement3D::Class() { return Type::IfcAxis2Placement3D; } IfcAxis2Placement3D::IfcAxis2Placement3D(IfcAbstractEntity* e) : IfcPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAxis2Placement3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAxis2Placement3D::IfcAxis2Placement3D(IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis, IfcDirection* v3_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_Axis)); e->setArgument(2,(v3_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcAxis2Placement3D::IfcAxis2Placement3D(IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis, boost::optional< IfcDirection* > v3_RefDirection) : IfcPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); if (v2_Axis) { e->setArgument(1,(*v2_Axis)); } else { e->setArgument(1); } if (v3_RefDirection) { e->setArgument(2,(*v3_RefDirection)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBSplineCurve int IfcBSplineCurve::Degree() const { return *entity->getArgument(0); } -void IfcBSplineCurve::setDegree(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcBSplineCurve::Degree(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcBSplineCurve::ControlPointsList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcBSplineCurve::setControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcBSplineCurve::ControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } IfcBSplineCurveForm::IfcBSplineCurveForm IfcBSplineCurve::CurveForm() const { return IfcBSplineCurveForm::FromString(*entity->getArgument(2)); } -void IfcBSplineCurve::setCurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcBSplineCurveForm::ToString(v)); } +void IfcBSplineCurve::CurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcBSplineCurveForm::ToString(v));; } bool IfcBSplineCurve::ClosedCurve() const { return *entity->getArgument(3); } -void IfcBSplineCurve::setClosedCurve(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcBSplineCurve::ClosedCurve(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcBSplineCurve::SelfIntersect() const { return *entity->getArgument(4); } -void IfcBSplineCurve::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcBSplineCurve::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcBSplineCurve::is(Type::Enum v) const { return v == Type::IfcBSplineCurve || IfcBoundedCurve::is(v); } Type::Enum IfcBSplineCurve::type() const { return Type::IfcBSplineCurve; } Type::Enum IfcBSplineCurve::Class() { return Type::IfcBSplineCurve; } @@ -8241,11 +8187,11 @@ IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, IfcTemplatedEntityList< IfcCarte // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ IfcBSplineCurveWithKnots::KnotMultiplicities() const { return *entity->getArgument(5); } -void IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcBSplineCurveWithKnots::KnotMultiplicities(std::vector< int > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } std::vector< double > /*[2:?]*/ IfcBSplineCurveWithKnots::Knots() const { return *entity->getArgument(6); } -void IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcBSplineCurveWithKnots::Knots(std::vector< double > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcKnotType::IfcKnotType IfcBSplineCurveWithKnots::KnotSpec() const { return IfcKnotType::FromString(*entity->getArgument(7)); } -void IfcBSplineCurveWithKnots::setKnotSpec(IfcKnotType::IfcKnotType v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcKnotType::ToString(v)); } +void IfcBSplineCurveWithKnots::KnotSpec(IfcKnotType::IfcKnotType v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcKnotType::ToString(v));; } bool IfcBSplineCurveWithKnots::is(Type::Enum v) const { return v == Type::IfcBSplineCurveWithKnots || IfcBSplineCurve::is(v); } Type::Enum IfcBSplineCurveWithKnots::type() const { return Type::IfcBSplineCurveWithKnots; } Type::Enum IfcBSplineCurveWithKnots::Class() { return Type::IfcBSplineCurveWithKnots; } @@ -8254,19 +8200,19 @@ IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEn // Function implementations for IfcBSplineSurface int IfcBSplineSurface::UDegree() const { return *entity->getArgument(0); } -void IfcBSplineSurface::setUDegree(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcBSplineSurface::UDegree(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } int IfcBSplineSurface::VDegree() const { return *entity->getArgument(1); } -void IfcBSplineSurface::setVDegree(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBSplineSurface::VDegree(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTemplatedEntityListList< IfcCartesianPoint >::ptr IfcBSplineSurface::ControlPointsList() const { IfcEntityListList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcBSplineSurface::setControlPointsList(IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcBSplineSurface::ControlPointsList(IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } IfcBSplineSurfaceForm::IfcBSplineSurfaceForm IfcBSplineSurface::SurfaceForm() const { return IfcBSplineSurfaceForm::FromString(*entity->getArgument(3)); } -void IfcBSplineSurface::setSurfaceForm(IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcBSplineSurfaceForm::ToString(v)); } +void IfcBSplineSurface::SurfaceForm(IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v,IfcBSplineSurfaceForm::ToString(v));; } bool IfcBSplineSurface::UClosed() const { return *entity->getArgument(4); } -void IfcBSplineSurface::setUClosed(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcBSplineSurface::UClosed(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcBSplineSurface::VClosed() const { return *entity->getArgument(5); } -void IfcBSplineSurface::setVClosed(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcBSplineSurface::VClosed(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcBSplineSurface::SelfIntersect() const { return *entity->getArgument(6); } -void IfcBSplineSurface::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcBSplineSurface::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcBSplineSurface::is(Type::Enum v) const { return v == Type::IfcBSplineSurface || IfcBoundedSurface::is(v); } Type::Enum IfcBSplineSurface::type() const { return Type::IfcBSplineSurface; } Type::Enum IfcBSplineSurface::Class() { return Type::IfcBSplineSurface; } @@ -8275,15 +8221,15 @@ IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, IfcTemplate // Function implementations for IfcBSplineSurfaceWithKnots std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UMultiplicities() const { return *entity->getArgument(7); } -void IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcBSplineSurfaceWithKnots::UMultiplicities(std::vector< int > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VMultiplicities() const { return *entity->getArgument(8); } -void IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcBSplineSurfaceWithKnots::VMultiplicities(std::vector< int > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } std::vector< double > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UKnots() const { return *entity->getArgument(9); } -void IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcBSplineSurfaceWithKnots::UKnots(std::vector< double > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } std::vector< double > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VKnots() const { return *entity->getArgument(10); } -void IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcBSplineSurfaceWithKnots::VKnots(std::vector< double > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } IfcKnotType::IfcKnotType IfcBSplineSurfaceWithKnots::KnotSpec() const { return IfcKnotType::FromString(*entity->getArgument(11)); } -void IfcBSplineSurfaceWithKnots::setKnotSpec(IfcKnotType::IfcKnotType v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcKnotType::ToString(v)); } +void IfcBSplineSurfaceWithKnots::KnotSpec(IfcKnotType::IfcKnotType v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcKnotType::ToString(v));; } bool IfcBSplineSurfaceWithKnots::is(Type::Enum v) const { return v == Type::IfcBSplineSurfaceWithKnots || IfcBSplineSurface::is(v); } Type::Enum IfcBSplineSurfaceWithKnots::type() const { return Type::IfcBSplineSurfaceWithKnots; } Type::Enum IfcBSplineSurfaceWithKnots::Class() { return Type::IfcBSplineSurfaceWithKnots; } @@ -8291,47 +8237,46 @@ IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcAbstractEntity* e) : I IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeam -bool IfcBeam::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeam::PredefinedType() const { return IfcBeamTypeEnum::FromString(*entity->getArgument(8)); } -void IfcBeam::setPredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcBeamTypeEnum::ToString(v)); } +boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > IfcBeam::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcBeamTypeEnum::FromString(*arg); } } +void IfcBeam::PredefinedType(boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcBeamTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcBeam::is(Type::Enum v) const { return v == Type::IfcBeam || IfcBuildingElement::is(v); } Type::Enum IfcBeam::type() const { return Type::IfcBeam; } Type::Enum IfcBeam::Class() { return Type::IfcBeam; } IfcBeam::IfcBeam(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeam::IfcBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBeam::IfcBeam(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamStandardCase bool IfcBeamStandardCase::is(Type::Enum v) const { return v == Type::IfcBeamStandardCase || IfcBeam::is(v); } Type::Enum IfcBeamStandardCase::type() const { return Type::IfcBeamStandardCase; } Type::Enum IfcBeamStandardCase::Class() { return Type::IfcBeamStandardCase; } IfcBeamStandardCase::IfcBeamStandardCase(IfcAbstractEntity* e) : IfcBeam((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBeam((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBeam((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamType IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamType::PredefinedType() const { return IfcBeamTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBeamType::setPredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBeamTypeEnum::ToString(v)); } +void IfcBeamType::PredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBeamTypeEnum::ToString(v));; } bool IfcBeamType::is(Type::Enum v) const { return v == Type::IfcBeamType || IfcBuildingElementType::is(v); } Type::Enum IfcBeamType::type() const { return Type::IfcBeamType; } Type::Enum IfcBeamType::Class() { return Type::IfcBeamType; } IfcBeamType::IfcBeamType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamType::IfcBeamType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBeamType::IfcBeamType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlobTexture std::string IfcBlobTexture::RasterFormat() const { return *entity->getArgument(5); } -void IfcBlobTexture::setRasterFormat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcBlobTexture::RasterFormat(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcBlobTexture::is(Type::Enum v) const { return v == Type::IfcBlobTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcBlobTexture::type() const { return Type::IfcBlobTexture; } Type::Enum IfcBlobTexture::Class() { return Type::IfcBlobTexture; } IfcBlobTexture::IfcBlobTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_RasterFormat)); entity = e; EntityBuffer::Add(this); } +IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_RasterFormat)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlock double IfcBlock::XLength() const { return *entity->getArgument(1); } -void IfcBlock::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBlock::XLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcBlock::YLength() const { return *entity->getArgument(2); } -void IfcBlock::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBlock::YLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcBlock::ZLength() const { return *entity->getArgument(3); } -void IfcBlock::setZLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcBlock::ZLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcBlock::is(Type::Enum v) const { return v == Type::IfcBlock || IfcCsgPrimitive3D::is(v); } Type::Enum IfcBlock::type() const { return Type::IfcBlock; } Type::Enum IfcBlock::Class() { return Type::IfcBlock; } @@ -8339,23 +8284,22 @@ IfcBlock::IfcBlock(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity* IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoiler -bool IfcBoiler::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoiler::PredefinedType() const { return IfcBoilerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcBoiler::setPredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcBoilerTypeEnum::ToString(v)); } +boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > IfcBoiler::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcBoilerTypeEnum::FromString(*arg); } } +void IfcBoiler::PredefinedType(boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcBoilerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcBoiler::is(Type::Enum v) const { return v == Type::IfcBoiler || IfcEnergyConversionDevice::is(v); } Type::Enum IfcBoiler::type() const { return Type::IfcBoiler; } Type::Enum IfcBoiler::Class() { return Type::IfcBoiler; } IfcBoiler::IfcBoiler(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoiler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoiler::IfcBoiler(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBoilerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBoiler::IfcBoiler(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBoilerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoilerType IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerType::PredefinedType() const { return IfcBoilerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBoilerType::setPredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBoilerTypeEnum::ToString(v)); } +void IfcBoilerType::PredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBoilerTypeEnum::ToString(v));; } bool IfcBoilerType::is(Type::Enum v) const { return v == Type::IfcBoilerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcBoilerType::type() const { return Type::IfcBoilerType; } Type::Enum IfcBoilerType::Class() { return Type::IfcBoilerType; } IfcBoilerType::IfcBoilerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanClippingResult bool IfcBooleanClippingResult::is(Type::Enum v) const { return v == Type::IfcBooleanClippingResult || IfcBooleanResult::is(v); } @@ -8366,11 +8310,11 @@ IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBoolea // Function implementations for IfcBooleanResult IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() const { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } -void IfcBooleanResult::setOperator(IfcBooleanOperator::IfcBooleanOperator v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcBooleanOperator::ToString(v)); } +void IfcBooleanResult::Operator(IfcBooleanOperator::IfcBooleanOperator v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcBooleanOperator::ToString(v));; } IfcBooleanOperand* IfcBooleanResult::FirstOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcBooleanResult::setFirstOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBooleanResult::FirstOperand(IfcBooleanOperand* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcBooleanOperand* IfcBooleanResult::SecondOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBooleanResult::setSecondOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBooleanResult::SecondOperand(IfcBooleanOperand* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcBooleanResult::is(Type::Enum v) const { return v == Type::IfcBooleanResult || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBooleanResult::type() const { return Type::IfcBooleanResult; } Type::Enum IfcBooleanResult::Class() { return Type::IfcBooleanResult; } @@ -8378,9 +8322,8 @@ IfcBooleanResult::IfcBooleanResult(IfcAbstractEntity* e) : IfcGeometricRepresent IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCondition -bool IfcBoundaryCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } -void IfcBoundaryCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } +void IfcBoundaryCondition::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcBoundaryCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::type() const { return Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::Class() { return Type::IfcBoundaryCondition; } @@ -8395,80 +8338,64 @@ IfcBoundaryCurve::IfcBoundaryCurve(IfcAbstractEntity* e) : IfcCompositeCurveOnSu IfcBoundaryCurve::IfcBoundaryCurve(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryEdgeCondition -bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthX() const { return !entity->getArgument(1)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthY() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthZ() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !entity->getArgument(4)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !entity->getArgument(5)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !entity->getArgument(6)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX(boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY(boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ(boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX(boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY(boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ(boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcBoundaryEdgeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryEdgeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryEdgeCondition::type() const { return Type::IfcBoundaryEdgeCondition; } Type::Enum IfcBoundaryEdgeCondition::Class() { return Type::IfcBoundaryEdgeCondition; } IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessByLengthX)); e->setArgument(2,(v3_TranslationalStiffnessByLengthY)); e->setArgument(3,(v4_TranslationalStiffnessByLengthZ)); e->setArgument(4,(v5_RotationalStiffnessByLengthX)); e->setArgument(5,(v6_RotationalStiffnessByLengthY)); e->setArgument(6,(v7_RotationalStiffnessByLengthZ)); entity = e; EntityBuffer::Add(this); } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByLengthX) { e->setArgument(1,(*v2_TranslationalStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByLengthY) { e->setArgument(2,(*v3_TranslationalStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByLengthZ) { e->setArgument(3,(*v4_TranslationalStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryFaceCondition -bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaX() const { return !entity->getArgument(1)->isNull(); } -IfcModulusOfSubgradeReactionSelect* IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaY() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfSubgradeReactionSelect* IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaZ() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfSubgradeReactionSelect* IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcModulusOfSubgradeReactionSelect* > IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX(boost::optional< IfcModulusOfSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcModulusOfSubgradeReactionSelect* > IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY(boost::optional< IfcModulusOfSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcModulusOfSubgradeReactionSelect* > IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ(boost::optional< IfcModulusOfSubgradeReactionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcBoundaryFaceCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryFaceCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryFaceCondition::type() const { return Type::IfcBoundaryFaceCondition; } Type::Enum IfcBoundaryFaceCondition::Class() { return Type::IfcBoundaryFaceCondition; } IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessByAreaX)); e->setArgument(2,(v3_TranslationalStiffnessByAreaY)); e->setArgument(3,(v4_TranslationalStiffnessByAreaZ)); entity = e; EntityBuffer::Add(this); } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect* > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect* > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect* > v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByAreaX) { e->setArgument(1,(*v2_TranslationalStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByAreaY) { e->setArgument(2,(*v3_TranslationalStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByAreaZ) { e->setArgument(3,(*v4_TranslationalStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeCondition -bool IfcBoundaryNodeCondition::hasTranslationalStiffnessX() const { return !entity->getArgument(1)->isNull(); } -IfcTranslationalStiffnessSelect* IfcBoundaryNodeCondition::TranslationalStiffnessX() const { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcBoundaryNodeCondition::setTranslationalStiffnessX(IfcTranslationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryNodeCondition::hasTranslationalStiffnessY() const { return !entity->getArgument(2)->isNull(); } -IfcTranslationalStiffnessSelect* IfcBoundaryNodeCondition::TranslationalStiffnessY() const { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBoundaryNodeCondition::setTranslationalStiffnessY(IfcTranslationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryNodeCondition::hasTranslationalStiffnessZ() const { return !entity->getArgument(3)->isNull(); } -IfcTranslationalStiffnessSelect* IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcBoundaryNodeCondition::setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !entity->getArgument(4)->isNull(); } -IfcRotationalStiffnessSelect* IfcBoundaryNodeCondition::RotationalStiffnessX() const { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcBoundaryNodeCondition::setRotationalStiffnessX(IfcRotationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !entity->getArgument(5)->isNull(); } -IfcRotationalStiffnessSelect* IfcBoundaryNodeCondition::RotationalStiffnessY() const { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcBoundaryNodeCondition::setRotationalStiffnessY(IfcRotationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !entity->getArgument(6)->isNull(); } -IfcRotationalStiffnessSelect* IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcBoundaryNodeCondition::setRotationalStiffnessZ(IfcRotationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< IfcTranslationalStiffnessSelect* > IfcBoundaryNodeCondition::TranslationalStiffnessX() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeCondition::TranslationalStiffnessX(boost::optional< IfcTranslationalStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcTranslationalStiffnessSelect* > IfcBoundaryNodeCondition::TranslationalStiffnessY() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeCondition::TranslationalStiffnessY(boost::optional< IfcTranslationalStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcTranslationalStiffnessSelect* > IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeCondition::TranslationalStiffnessZ(boost::optional< IfcTranslationalStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcRotationalStiffnessSelect* > IfcBoundaryNodeCondition::RotationalStiffnessX() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeCondition::RotationalStiffnessX(boost::optional< IfcRotationalStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcRotationalStiffnessSelect* > IfcBoundaryNodeCondition::RotationalStiffnessY() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeCondition::RotationalStiffnessY(boost::optional< IfcRotationalStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcRotationalStiffnessSelect* > IfcBoundaryNodeCondition::RotationalStiffnessZ() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeCondition::RotationalStiffnessZ(boost::optional< IfcRotationalStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcBoundaryNodeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryNodeCondition::type() const { return Type::IfcBoundaryNodeCondition; } Type::Enum IfcBoundaryNodeCondition::Class() { return Type::IfcBoundaryNodeCondition; } IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessX)); e->setArgument(2,(v3_TranslationalStiffnessY)); e->setArgument(3,(v4_TranslationalStiffnessZ)); e->setArgument(4,(v5_RotationalStiffnessX)); e->setArgument(5,(v6_RotationalStiffnessY)); e->setArgument(6,(v7_RotationalStiffnessZ)); entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, boost::optional< IfcTranslationalStiffnessSelect* > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect* > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect* > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect* > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect* > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect* > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeConditionWarping -bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !entity->getArgument(7)->isNull(); } -IfcWarpingStiffnessSelect* IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return (IfcWarpingStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcBoundaryNodeConditionWarping::setWarpingStiffness(IfcWarpingStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< IfcWarpingStiffnessSelect* > IfcBoundaryNodeConditionWarping::WarpingStiffness() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcWarpingStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBoundaryNodeConditionWarping::WarpingStiffness(boost::optional< IfcWarpingStiffnessSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcBoundaryNodeConditionWarping::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeConditionWarping || IfcBoundaryNodeCondition::is(v); } Type::Enum IfcBoundaryNodeConditionWarping::type() const { return Type::IfcBoundaryNodeConditionWarping; } Type::Enum IfcBoundaryNodeConditionWarping::Class() { return Type::IfcBoundaryNodeConditionWarping; } IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcAbstractEntity* e) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessX)); e->setArgument(2,(v3_TranslationalStiffnessY)); e->setArgument(3,(v4_TranslationalStiffnessZ)); e->setArgument(4,(v5_RotationalStiffnessX)); e->setArgument(5,(v6_RotationalStiffnessY)); e->setArgument(6,(v7_RotationalStiffnessZ)); e->setArgument(7,(v8_WarpingStiffness)); entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, boost::optional< IfcTranslationalStiffnessSelect* > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect* > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect* > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect* > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect* > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect* > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect* > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedCurve bool IfcBoundedCurve::is(Type::Enum v) const { return v == Type::IfcBoundedCurve || IfcCurve::is(v); } @@ -8486,13 +8413,13 @@ IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntity*)0) { Ifc // Function implementations for IfcBoundingBox IfcCartesianPoint* IfcBoundingBox::Corner() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcBoundingBox::setCorner(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcBoundingBox::Corner(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcBoundingBox::XDim() const { return *entity->getArgument(1); } -void IfcBoundingBox::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcBoundingBox::XDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcBoundingBox::YDim() const { return *entity->getArgument(2); } -void IfcBoundingBox::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBoundingBox::YDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } -void IfcBoundingBox::setZDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcBoundingBox::ZDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcBoundingBox::is(Type::Enum v) const { return v == Type::IfcBoundingBox || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBoundingBox::type() const { return Type::IfcBoundingBox; } Type::Enum IfcBoundingBox::Class() { return Type::IfcBoundingBox; } @@ -8501,7 +8428,7 @@ IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, double v2_XDim, dou // Function implementations for IfcBoxedHalfSpace IfcBoundingBox* IfcBoxedHalfSpace::Enclosure() const { return (IfcBoundingBox*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcBoxedHalfSpace::setEnclosure(IfcBoundingBox* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcBoxedHalfSpace::Enclosure(IfcBoundingBox* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcBoxedHalfSpace::is(Type::Enum v) const { return v == Type::IfcBoxedHalfSpace || IfcHalfSpaceSolid::is(v); } Type::Enum IfcBoxedHalfSpace::type() const { return Type::IfcBoxedHalfSpace; } Type::Enum IfcBoxedHalfSpace::Class() { return Type::IfcBoxedHalfSpace; } @@ -8509,20 +8436,17 @@ IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid(( IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Enclosure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuilding -bool IfcBuilding::hasElevationOfRefHeight() const { return !entity->getArgument(9)->isNull(); } -double IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } -void IfcBuilding::setElevationOfRefHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcBuilding::hasElevationOfTerrain() const { return !entity->getArgument(10)->isNull(); } -double IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } -void IfcBuilding::setElevationOfTerrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcBuilding::hasBuildingAddress() const { return !entity->getArgument(11)->isNull(); } -IfcPostalAddress* IfcBuilding::BuildingAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcBuilding::setBuildingAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +boost::optional< double > IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } +void IfcBuilding::ElevationOfRefHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } +void IfcBuilding::ElevationOfTerrain(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcPostalAddress* > IfcBuilding::BuildingAddress() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcBuilding::BuildingAddress(boost::optional< IfcPostalAddress* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcBuilding::is(Type::Enum v) const { return v == Type::IfcBuilding || IfcSpatialStructureElement::is(v); } Type::Enum IfcBuilding::type() const { return Type::IfcBuilding; } Type::Enum IfcBuilding::Class() { return Type::IfcBuilding; } IfcBuilding::IfcBuilding(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } +IfcBuilding::IfcBuilding(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, boost::optional< IfcPostalAddress* > v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } if (v12_BuildingAddress) { e->setArgument(11,(*v12_BuildingAddress)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement IfcRelCoversBldgElements::list::ptr IfcBuildingElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } @@ -8530,189 +8454,179 @@ bool IfcBuildingElement::is(Type::Enum v) const { return v == Type::IfcBuildingE Type::Enum IfcBuildingElement::type() const { return Type::IfcBuildingElement; } Type::Enum IfcBuildingElement::Class() { return Type::IfcBuildingElement; } IfcBuildingElement::IfcBuildingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPart -bool IfcBuildingElementPart::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum IfcBuildingElementPart::PredefinedType() const { return IfcBuildingElementPartTypeEnum::FromString(*entity->getArgument(8)); } -void IfcBuildingElementPart::setPredefinedType(IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcBuildingElementPartTypeEnum::ToString(v)); } +boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > IfcBuildingElementPart::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcBuildingElementPartTypeEnum::FromString(*arg); } } +void IfcBuildingElementPart::PredefinedType(boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcBuildingElementPartTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcBuildingElementPart::is(Type::Enum v) const { return v == Type::IfcBuildingElementPart || IfcElementComponent::is(v); } Type::Enum IfcBuildingElementPart::type() const { return Type::IfcBuildingElementPart; } Type::Enum IfcBuildingElementPart::Class() { return Type::IfcBuildingElementPart; } IfcBuildingElementPart::IfcBuildingElementPart(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPartType IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum IfcBuildingElementPartType::PredefinedType() const { return IfcBuildingElementPartTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBuildingElementPartType::setPredefinedType(IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBuildingElementPartTypeEnum::ToString(v)); } +void IfcBuildingElementPartType::PredefinedType(IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBuildingElementPartTypeEnum::ToString(v));; } bool IfcBuildingElementPartType::is(Type::Enum v) const { return v == Type::IfcBuildingElementPartType || IfcElementComponentType::is(v); } Type::Enum IfcBuildingElementPartType::type() const { return Type::IfcBuildingElementPartType; } Type::Enum IfcBuildingElementPartType::Class() { return Type::IfcBuildingElementPartType; } IfcBuildingElementPartType::IfcBuildingElementPartType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPartType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxy -bool IfcBuildingElementProxy::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxy::PredefinedType() const { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(8)); } -void IfcBuildingElementProxy::setPredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcBuildingElementProxyTypeEnum::ToString(v)); } +boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > IfcBuildingElementProxy::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcBuildingElementProxyTypeEnum::FromString(*arg); } } +void IfcBuildingElementProxy::PredefinedType(boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcBuildingElementProxyTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcBuildingElementProxy::is(Type::Enum v) const { return v == Type::IfcBuildingElementProxy || IfcBuildingElement::is(v); } Type::Enum IfcBuildingElementProxy::type() const { return Type::IfcBuildingElementProxy; } Type::Enum IfcBuildingElementProxy::Class() { return Type::IfcBuildingElementProxy; } IfcBuildingElementProxy::IfcBuildingElementProxy(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxyType IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyType::PredefinedType() const { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBuildingElementProxyType::setPredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBuildingElementProxyTypeEnum::ToString(v)); } +void IfcBuildingElementProxyType::PredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBuildingElementProxyTypeEnum::ToString(v));; } bool IfcBuildingElementProxyType::is(Type::Enum v) const { return v == Type::IfcBuildingElementProxyType || IfcBuildingElementType::is(v); } Type::Enum IfcBuildingElementProxyType::type() const { return Type::IfcBuildingElementProxyType; } Type::Enum IfcBuildingElementProxyType::Class() { return Type::IfcBuildingElementProxyType; } IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementType bool IfcBuildingElementType::is(Type::Enum v) const { return v == Type::IfcBuildingElementType || IfcElementType::is(v); } Type::Enum IfcBuildingElementType::type() const { return Type::IfcBuildingElementType; } Type::Enum IfcBuildingElementType::Class() { return Type::IfcBuildingElementType; } IfcBuildingElementType::IfcBuildingElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingStorey -bool IfcBuildingStorey::hasElevation() const { return !entity->getArgument(9)->isNull(); } -double IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } -void IfcBuildingStorey::setElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< double > IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } +void IfcBuildingStorey::Elevation(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcBuildingStorey::is(Type::Enum v) const { return v == Type::IfcBuildingStorey || IfcSpatialStructureElement::is(v); } Type::Enum IfcBuildingStorey::type() const { return Type::IfcBuildingStorey; } Type::Enum IfcBuildingStorey::Class() { return Type::IfcBuildingStorey; } IfcBuildingStorey::IfcBuildingStorey(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingSystem -bool IfcBuildingSystem::hasPredefinedType() const { return !entity->getArgument(5)->isNull(); } -IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum IfcBuildingSystem::PredefinedType() const { return IfcBuildingSystemTypeEnum::FromString(*entity->getArgument(5)); } -void IfcBuildingSystem::setPredefinedType(IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcBuildingSystemTypeEnum::ToString(v)); } +boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > IfcBuildingSystem::PredefinedType() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return IfcBuildingSystemTypeEnum::FromString(*arg); } } +void IfcBuildingSystem::PredefinedType(boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v,IfcBuildingSystemTypeEnum::ToString(*v));; } else { w->setArgument(5); } } bool IfcBuildingSystem::is(Type::Enum v) const { return v == Type::IfcBuildingSystem || IfcSystem::is(v); } Type::Enum IfcBuildingSystem::type() const { return Type::IfcBuildingSystem; } Type::Enum IfcBuildingSystem::Class() { return Type::IfcBuildingSystem; } IfcBuildingSystem::IfcBuildingSystem(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurner -bool IfcBurner::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcBurnerTypeEnum::IfcBurnerTypeEnum IfcBurner::PredefinedType() const { return IfcBurnerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcBurner::setPredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcBurnerTypeEnum::ToString(v)); } +boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > IfcBurner::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcBurnerTypeEnum::FromString(*arg); } } +void IfcBurner::PredefinedType(boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcBurnerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcBurner::is(Type::Enum v) const { return v == Type::IfcBurner || IfcEnergyConversionDevice::is(v); } Type::Enum IfcBurner::type() const { return Type::IfcBurner; } Type::Enum IfcBurner::Class() { return Type::IfcBurner; } IfcBurner::IfcBurner(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBurner)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBurner::IfcBurner(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBurnerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBurner::IfcBurner(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBurnerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurnerType IfcBurnerTypeEnum::IfcBurnerTypeEnum IfcBurnerType::PredefinedType() const { return IfcBurnerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcBurnerType::setPredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcBurnerTypeEnum::ToString(v)); } +void IfcBurnerType::PredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcBurnerTypeEnum::ToString(v));; } bool IfcBurnerType::is(Type::Enum v) const { return v == Type::IfcBurnerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcBurnerType::type() const { return Type::IfcBurnerType; } Type::Enum IfcBurnerType::Class() { return Type::IfcBurnerType; } IfcBurnerType::IfcBurnerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBurnerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBurnerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBurnerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCShapeProfileDef double IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcCShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcCShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcCShapeProfileDef::Width(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcCShapeProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcCShapeProfileDef::WallThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } -void IfcCShapeProfileDef::setGirth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCShapeProfileDef::hasInternalFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } -void IfcCShapeProfileDef::setInternalFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcCShapeProfileDef::Girth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } +void IfcCShapeProfileDef::InternalFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcCShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCShapeProfileDef::type() const { return Type::IfcCShapeProfileDef; } Type::Enum IfcCShapeProfileDef::Class() { return Type::IfcCShapeProfileDef; } IfcCShapeProfileDef::IfcCShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFitting -bool IfcCableCarrierFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFitting::PredefinedType() const { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCableCarrierFitting::setPredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCableCarrierFittingTypeEnum::ToString(v)); } +boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > IfcCableCarrierFitting::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCableCarrierFittingTypeEnum::FromString(*arg); } } +void IfcCableCarrierFitting::PredefinedType(boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCableCarrierFittingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCableCarrierFitting::is(Type::Enum v) const { return v == Type::IfcCableCarrierFitting || IfcFlowFitting::is(v); } Type::Enum IfcCableCarrierFitting::type() const { return Type::IfcCableCarrierFitting; } Type::Enum IfcCableCarrierFitting::Class() { return Type::IfcCableCarrierFitting; } IfcCableCarrierFitting::IfcCableCarrierFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFittingType IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingType::PredefinedType() const { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableCarrierFittingType::setPredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableCarrierFittingTypeEnum::ToString(v)); } +void IfcCableCarrierFittingType::PredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableCarrierFittingTypeEnum::ToString(v));; } bool IfcCableCarrierFittingType::is(Type::Enum v) const { return v == Type::IfcCableCarrierFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcCableCarrierFittingType::type() const { return Type::IfcCableCarrierFittingType; } Type::Enum IfcCableCarrierFittingType::Class() { return Type::IfcCableCarrierFittingType; } IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegment -bool IfcCableCarrierSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegment::PredefinedType() const { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCableCarrierSegment::setPredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCableCarrierSegmentTypeEnum::ToString(v)); } +boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > IfcCableCarrierSegment::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCableCarrierSegmentTypeEnum::FromString(*arg); } } +void IfcCableCarrierSegment::PredefinedType(boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCableCarrierSegmentTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCableCarrierSegment::is(Type::Enum v) const { return v == Type::IfcCableCarrierSegment || IfcFlowSegment::is(v); } Type::Enum IfcCableCarrierSegment::type() const { return Type::IfcCableCarrierSegment; } Type::Enum IfcCableCarrierSegment::Class() { return Type::IfcCableCarrierSegment; } IfcCableCarrierSegment::IfcCableCarrierSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegmentType IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentType::PredefinedType() const { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableCarrierSegmentType::setPredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableCarrierSegmentTypeEnum::ToString(v)); } +void IfcCableCarrierSegmentType::PredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableCarrierSegmentTypeEnum::ToString(v));; } bool IfcCableCarrierSegmentType::is(Type::Enum v) const { return v == Type::IfcCableCarrierSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcCableCarrierSegmentType::type() const { return Type::IfcCableCarrierSegmentType; } Type::Enum IfcCableCarrierSegmentType::Class() { return Type::IfcCableCarrierSegmentType; } IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableFitting -bool IfcCableFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCableFittingTypeEnum::IfcCableFittingTypeEnum IfcCableFitting::PredefinedType() const { return IfcCableFittingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCableFitting::setPredefinedType(IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCableFittingTypeEnum::ToString(v)); } +boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > IfcCableFitting::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCableFittingTypeEnum::FromString(*arg); } } +void IfcCableFitting::PredefinedType(boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCableFittingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCableFitting::is(Type::Enum v) const { return v == Type::IfcCableFitting || IfcFlowFitting::is(v); } Type::Enum IfcCableFitting::type() const { return Type::IfcCableFitting; } Type::Enum IfcCableFitting::Class() { return Type::IfcCableFitting; } IfcCableFitting::IfcCableFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableFittingType IfcCableFittingTypeEnum::IfcCableFittingTypeEnum IfcCableFittingType::PredefinedType() const { return IfcCableFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableFittingType::setPredefinedType(IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableFittingTypeEnum::ToString(v)); } +void IfcCableFittingType::PredefinedType(IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableFittingTypeEnum::ToString(v));; } bool IfcCableFittingType::is(Type::Enum v) const { return v == Type::IfcCableFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcCableFittingType::type() const { return Type::IfcCableFittingType; } Type::Enum IfcCableFittingType::Class() { return Type::IfcCableFittingType; } IfcCableFittingType::IfcCableFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegment -bool IfcCableSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegment::PredefinedType() const { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCableSegment::setPredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCableSegmentTypeEnum::ToString(v)); } +boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > IfcCableSegment::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCableSegmentTypeEnum::FromString(*arg); } } +void IfcCableSegment::PredefinedType(boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCableSegmentTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCableSegment::is(Type::Enum v) const { return v == Type::IfcCableSegment || IfcFlowSegment::is(v); } Type::Enum IfcCableSegment::type() const { return Type::IfcCableSegment; } Type::Enum IfcCableSegment::Class() { return Type::IfcCableSegment; } IfcCableSegment::IfcCableSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegmentType IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentType::PredefinedType() const { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCableSegmentType::setPredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCableSegmentTypeEnum::ToString(v)); } +void IfcCableSegmentType::PredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCableSegmentTypeEnum::ToString(v));; } bool IfcCableSegmentType::is(Type::Enum v) const { return v == Type::IfcCableSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcCableSegmentType::type() const { return Type::IfcCableSegmentType; } Type::Enum IfcCableSegmentType::Class() { return Type::IfcCableSegmentType; } IfcCableSegmentType::IfcCableSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPoint std::vector< double > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } -void IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCartesianPoint::Coordinates(std::vector< double > /*[1:3]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcCartesianPoint::is(Type::Enum v) const { return v == Type::IfcCartesianPoint || IfcPoint::is(v); } Type::Enum IfcCartesianPoint::type() const { return Type::IfcCartesianPoint; } Type::Enum IfcCartesianPoint::Class() { return Type::IfcCartesianPoint; } @@ -8734,66 +8648,59 @@ IfcCartesianPointList3D::IfcCartesianPointList3D(IfcAbstractEntity* e) : IfcCart IfcCartesianPointList3D::IfcCartesianPointList3D() : IfcCartesianPointList((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator -bool IfcCartesianTransformationOperator::hasAxis1() const { return !entity->getArgument(0)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis1() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCartesianTransformationOperator::setAxis1(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcCartesianTransformationOperator::hasAxis2() const { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis2() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCartesianTransformationOperator::setAxis2(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcDirection* > IfcCartesianTransformationOperator::Axis1() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCartesianTransformationOperator::Axis1(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< IfcDirection* > IfcCartesianTransformationOperator::Axis2() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCartesianTransformationOperator::Axis2(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcCartesianPoint* IfcCartesianTransformationOperator::LocalOrigin() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCartesianTransformationOperator::setLocalOrigin(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCartesianTransformationOperator::hasScale() const { return !entity->getArgument(3)->isNull(); } -double IfcCartesianTransformationOperator::Scale() const { return *entity->getArgument(3); } -void IfcCartesianTransformationOperator::setScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCartesianTransformationOperator::LocalOrigin(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcCartesianTransformationOperator::Scale() const { return *entity->getArgument(3); } +void IfcCartesianTransformationOperator::Scale(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcCartesianTransformationOperator::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCartesianTransformationOperator::type() const { return Type::IfcCartesianTransformationOperator; } Type::Enum IfcCartesianTransformationOperator::Class() { return Type::IfcCartesianTransformationOperator; } IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator2D bool IfcCartesianTransformationOperator2D::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator2D || IfcCartesianTransformationOperator::is(v); } Type::Enum IfcCartesianTransformationOperator2D::type() const { return Type::IfcCartesianTransformationOperator2D; } Type::Enum IfcCartesianTransformationOperator2D::Class() { return Type::IfcCartesianTransformationOperator2D; } IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcAbstractEntity* e) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -bool IfcCartesianTransformationOperator2DnonUniform::hasScale2() const { return !entity->getArgument(4)->isNull(); } -double IfcCartesianTransformationOperator2DnonUniform::Scale2() const { return *entity->getArgument(4); } -void IfcCartesianTransformationOperator2DnonUniform::setScale2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcCartesianTransformationOperator2DnonUniform::Scale2() const { return *entity->getArgument(4); } +void IfcCartesianTransformationOperator2DnonUniform::Scale2(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcCartesianTransformationOperator2DnonUniform::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator2DnonUniform || IfcCartesianTransformationOperator2D::is(v); } Type::Enum IfcCartesianTransformationOperator2DnonUniform::type() const { return Type::IfcCartesianTransformationOperator2DnonUniform; } Type::Enum IfcCartesianTransformationOperator2DnonUniform::Class() { return Type::IfcCartesianTransformationOperator2DnonUniform; } IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcAbstractEntity* e) : IfcCartesianTransformationOperator2D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator2DnonUniform)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Scale2) { e->setArgument(4,(*v5_Scale2)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Scale2) { e->setArgument(4,(*v5_Scale2)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator3D -bool IfcCartesianTransformationOperator3D::hasAxis3() const { return !entity->getArgument(4)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator3D::Axis3() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcCartesianTransformationOperator3D::setAxis3(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcDirection* > IfcCartesianTransformationOperator3D::Axis3() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCartesianTransformationOperator3D::Axis3(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcCartesianTransformationOperator3D::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator3D || IfcCartesianTransformationOperator::is(v); } Type::Enum IfcCartesianTransformationOperator3D::type() const { return Type::IfcCartesianTransformationOperator3D; } Type::Enum IfcCartesianTransformationOperator3D::Class() { return Type::IfcCartesianTransformationOperator3D; } IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcAbstractEntity* e) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } e->setArgument(4,(v5_Axis3)); entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3) : IfcCartesianTransformationOperator((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Axis3) { e->setArgument(4,(*v5_Axis3)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -bool IfcCartesianTransformationOperator3DnonUniform::hasScale2() const { return !entity->getArgument(5)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale2() const { return *entity->getArgument(5); } -void IfcCartesianTransformationOperator3DnonUniform::setScale2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcCartesianTransformationOperator3DnonUniform::hasScale3() const { return !entity->getArgument(6)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale3() const { return *entity->getArgument(6); } -void IfcCartesianTransformationOperator3DnonUniform::setScale3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcCartesianTransformationOperator3DnonUniform::Scale2() const { return *entity->getArgument(5); } +void IfcCartesianTransformationOperator3DnonUniform::Scale2(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcCartesianTransformationOperator3DnonUniform::Scale3() const { return *entity->getArgument(6); } +void IfcCartesianTransformationOperator3DnonUniform::Scale3(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcCartesianTransformationOperator3DnonUniform::is(Type::Enum v) const { return v == Type::IfcCartesianTransformationOperator3DnonUniform || IfcCartesianTransformationOperator3D::is(v); } Type::Enum IfcCartesianTransformationOperator3DnonUniform::type() const { return Type::IfcCartesianTransformationOperator3DnonUniform; } Type::Enum IfcCartesianTransformationOperator3DnonUniform::Class() { return Type::IfcCartesianTransformationOperator3DnonUniform; } IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcAbstractEntity* e) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianTransformationOperator3DnonUniform)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } e->setArgument(4,(v5_Axis3)); if (v6_Scale2) { e->setArgument(5,(*v6_Scale2)); } else { e->setArgument(5); } if (v7_Scale3) { e->setArgument(6,(*v7_Scale3)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Axis1) { e->setArgument(0,(*v1_Axis1)); } else { e->setArgument(0); } if (v2_Axis2) { e->setArgument(1,(*v2_Axis2)); } else { e->setArgument(1); } e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } if (v5_Axis3) { e->setArgument(4,(*v5_Axis3)); } else { e->setArgument(4); } if (v6_Scale2) { e->setArgument(5,(*v6_Scale2)); } else { e->setArgument(5); } if (v7_Scale3) { e->setArgument(6,(*v7_Scale3)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCenterLineProfileDef double IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } -void IfcCenterLineProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCenterLineProfileDef::Thickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcCenterLineProfileDef::is(Type::Enum v) const { return v == Type::IfcCenterLineProfileDef || IfcArbitraryOpenProfileDef::is(v); } Type::Enum IfcCenterLineProfileDef::type() const { return Type::IfcCenterLineProfileDef; } Type::Enum IfcCenterLineProfileDef::Class() { return Type::IfcCenterLineProfileDef; } @@ -8801,46 +8708,44 @@ IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntity* e) : IfcArbi IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChiller -bool IfcChiller::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcChillerTypeEnum::IfcChillerTypeEnum IfcChiller::PredefinedType() const { return IfcChillerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcChiller::setPredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcChillerTypeEnum::ToString(v)); } +boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > IfcChiller::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcChillerTypeEnum::FromString(*arg); } } +void IfcChiller::PredefinedType(boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcChillerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcChiller::is(Type::Enum v) const { return v == Type::IfcChiller || IfcEnergyConversionDevice::is(v); } Type::Enum IfcChiller::type() const { return Type::IfcChiller; } Type::Enum IfcChiller::Class() { return Type::IfcChiller; } IfcChiller::IfcChiller(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChiller)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChiller::IfcChiller(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChillerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcChiller::IfcChiller(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChillerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChillerType IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerType::PredefinedType() const { return IfcChillerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcChillerType::setPredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcChillerTypeEnum::ToString(v)); } +void IfcChillerType::PredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcChillerTypeEnum::ToString(v));; } bool IfcChillerType::is(Type::Enum v) const { return v == Type::IfcChillerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcChillerType::type() const { return Type::IfcChillerType; } Type::Enum IfcChillerType::Class() { return Type::IfcChillerType; } IfcChillerType::IfcChillerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChillerType::IfcChillerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcChillerType::IfcChillerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChimney -bool IfcChimney::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcChimneyTypeEnum::IfcChimneyTypeEnum IfcChimney::PredefinedType() const { return IfcChimneyTypeEnum::FromString(*entity->getArgument(8)); } -void IfcChimney::setPredefinedType(IfcChimneyTypeEnum::IfcChimneyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcChimneyTypeEnum::ToString(v)); } +boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > IfcChimney::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcChimneyTypeEnum::FromString(*arg); } } +void IfcChimney::PredefinedType(boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcChimneyTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcChimney::is(Type::Enum v) const { return v == Type::IfcChimney || IfcBuildingElement::is(v); } Type::Enum IfcChimney::type() const { return Type::IfcChimney; } Type::Enum IfcChimney::Class() { return Type::IfcChimney; } IfcChimney::IfcChimney(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChimney)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChimney::IfcChimney(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChimneyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcChimney::IfcChimney(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChimneyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChimneyType IfcChimneyTypeEnum::IfcChimneyTypeEnum IfcChimneyType::PredefinedType() const { return IfcChimneyTypeEnum::FromString(*entity->getArgument(9)); } -void IfcChimneyType::setPredefinedType(IfcChimneyTypeEnum::IfcChimneyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcChimneyTypeEnum::ToString(v)); } +void IfcChimneyType::PredefinedType(IfcChimneyTypeEnum::IfcChimneyTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcChimneyTypeEnum::ToString(v));; } bool IfcChimneyType::is(Type::Enum v) const { return v == Type::IfcChimneyType || IfcBuildingElementType::is(v); } Type::Enum IfcChimneyType::type() const { return Type::IfcChimneyType; } Type::Enum IfcChimneyType::Class() { return Type::IfcChimneyType; } IfcChimneyType::IfcChimneyType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChimneyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChimneyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChimneyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircle double IfcCircle::Radius() const { return *entity->getArgument(1); } -void IfcCircle::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCircle::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCircle::is(Type::Enum v) const { return v == Type::IfcCircle || IfcConic::is(v); } Type::Enum IfcCircle::type() const { return Type::IfcCircle; } Type::Enum IfcCircle::Class() { return Type::IfcCircle; } @@ -8849,57 +8754,51 @@ IfcCircle::IfcCircle(IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConi // Function implementations for IfcCircleHollowProfileDef double IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } -void IfcCircleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcCircleHollowProfileDef::WallThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcCircleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleHollowProfileDef || IfcCircleProfileDef::is(v); } Type::Enum IfcCircleHollowProfileDef::type() const { return Type::IfcCircleHollowProfileDef; } Type::Enum IfcCircleHollowProfileDef::Class() { return Type::IfcCircleHollowProfileDef; } IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcAbstractEntity* e) : IfcCircleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } +IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleProfileDef double IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } -void IfcCircleProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCircleProfileDef::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcCircleProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCircleProfileDef::type() const { return Type::IfcCircleProfileDef; } Type::Enum IfcCircleProfileDef::Class() { return Type::IfcCircleProfileDef; } IfcCircleProfileDef::IfcCircleProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCivilElement bool IfcCivilElement::is(Type::Enum v) const { return v == Type::IfcCivilElement || IfcElement::is(v); } Type::Enum IfcCivilElement::type() const { return Type::IfcCivilElement; } Type::Enum IfcCivilElement::Class() { return Type::IfcCivilElement; } IfcCivilElement::IfcCivilElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCivilElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCivilElementType bool IfcCivilElementType::is(Type::Enum v) const { return v == Type::IfcCivilElementType || IfcElementType::is(v); } Type::Enum IfcCivilElementType::type() const { return Type::IfcCivilElementType; } Type::Enum IfcCivilElementType::Class() { return Type::IfcCivilElementType; } IfcCivilElementType::IfcCivilElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCivilElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassification -bool IfcClassification::hasSource() const { return !entity->getArgument(0)->isNull(); } -std::string IfcClassification::Source() const { return *entity->getArgument(0); } -void IfcClassification::setSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcClassification::hasEdition() const { return !entity->getArgument(1)->isNull(); } -std::string IfcClassification::Edition() const { return *entity->getArgument(1); } -void IfcClassification::setEdition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcClassification::hasEditionDate() const { return !entity->getArgument(2)->isNull(); } -std::string IfcClassification::EditionDate() const { return *entity->getArgument(2); } -void IfcClassification::setEditionDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcClassification::Source() const { return *entity->getArgument(0); } +void IfcClassification::Source(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcClassification::Edition() const { return *entity->getArgument(1); } +void IfcClassification::Edition(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcClassification::EditionDate() const { return *entity->getArgument(2); } +void IfcClassification::EditionDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } std::string IfcClassification::Name() const { return *entity->getArgument(3); } -void IfcClassification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcClassification::hasDescription() const { return !entity->getArgument(4)->isNull(); } -std::string IfcClassification::Description() const { return *entity->getArgument(4); } -void IfcClassification::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcClassification::hasLocation() const { return !entity->getArgument(5)->isNull(); } -std::string IfcClassification::Location() const { return *entity->getArgument(5); } -void IfcClassification::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcClassification::hasReferenceTokens() const { return !entity->getArgument(6)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcClassification::ReferenceTokens() const { return *entity->getArgument(6); } -void IfcClassification::setReferenceTokens(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcClassification::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcClassification::Description() const { return *entity->getArgument(4); } +void IfcClassification::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcClassification::Location() const { return *entity->getArgument(5); } +void IfcClassification::Location(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcClassification::ReferenceTokens() const { return *entity->getArgument(6); } +void IfcClassification::ReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcRelAssociatesClassification::list::ptr IfcClassification::ClassificationForObjects() const { return entity->getInverse(Type::IfcRelAssociatesClassification, 5)->as(); } IfcClassificationReference::list::ptr IfcClassification::HasReferences() const { return entity->getInverse(Type::IfcClassificationReference, 3)->as(); } bool IfcClassification::is(Type::Enum v) const { return v == Type::IfcClassification || IfcExternalInformation::is(v); } @@ -8909,22 +8808,19 @@ IfcClassification::IfcClassification(IfcAbstractEntity* e) : IfcExternalInformat IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Source) { e->setArgument(0,(*v1_Source)); } else { e->setArgument(0); } if (v2_Edition) { e->setArgument(1,(*v2_Edition)); } else { e->setArgument(1); } if (v3_EditionDate) { e->setArgument(2,(*v3_EditionDate)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Location) { e->setArgument(5,(*v6_Location)); } else { e->setArgument(5); } if (v7_ReferenceTokens) { e->setArgument(6,(*v7_ReferenceTokens)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationReference -bool IfcClassificationReference::hasReferencedSource() const { return !entity->getArgument(3)->isNull(); } -IfcClassificationReferenceSelect* IfcClassificationReference::ReferencedSource() const { return (IfcClassificationReferenceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcClassificationReference::setReferencedSource(IfcClassificationReferenceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcClassificationReference::hasDescription() const { return !entity->getArgument(4)->isNull(); } -std::string IfcClassificationReference::Description() const { return *entity->getArgument(4); } -void IfcClassificationReference::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcClassificationReference::hasSort() const { return !entity->getArgument(5)->isNull(); } -std::string IfcClassificationReference::Sort() const { return *entity->getArgument(5); } -void IfcClassificationReference::setSort(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< IfcClassificationReferenceSelect* > IfcClassificationReference::ReferencedSource() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcClassificationReferenceSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcClassificationReference::ReferencedSource(boost::optional< IfcClassificationReferenceSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcClassificationReference::Description() const { return *entity->getArgument(4); } +void IfcClassificationReference::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcClassificationReference::Sort() const { return *entity->getArgument(5); } +void IfcClassificationReference::Sort(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcRelAssociatesClassification::list::ptr IfcClassificationReference::ClassificationRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesClassification, 5)->as(); } IfcClassificationReference::list::ptr IfcClassificationReference::HasReferences() const { return entity->getInverse(Type::IfcClassificationReference, 3)->as(); } bool IfcClassificationReference::is(Type::Enum v) const { return v == Type::IfcClassificationReference || IfcExternalReference::is(v); } Type::Enum IfcClassificationReference::type() const { return Type::IfcClassificationReference; } Type::Enum IfcClassificationReference::Class() { return Type::IfcClassificationReference; } IfcClassificationReference::IfcClassificationReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_ReferencedSource)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Sort) { e->setArgument(5,(*v6_Sort)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< IfcClassificationReferenceSelect* > v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_ReferencedSource) { e->setArgument(3,(*v4_ReferencedSource)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Sort) { e->setArgument(5,(*v6_Sort)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClosedShell bool IfcClosedShell::is(Type::Enum v) const { return v == Type::IfcClosedShell || IfcConnectedFaceSet::is(v); } @@ -8934,31 +8830,30 @@ IfcClosedShell::IfcClosedShell(IfcAbstractEntity* e) : IfcConnectedFaceSet((IfcA IfcClosedShell::IfcClosedShell(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoil -bool IfcCoil::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoil::PredefinedType() const { return IfcCoilTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCoil::setPredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCoilTypeEnum::ToString(v)); } +boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > IfcCoil::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCoilTypeEnum::FromString(*arg); } } +void IfcCoil::PredefinedType(boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCoilTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCoil::is(Type::Enum v) const { return v == Type::IfcCoil || IfcEnergyConversionDevice::is(v); } Type::Enum IfcCoil::type() const { return Type::IfcCoil; } Type::Enum IfcCoil::Class() { return Type::IfcCoil; } IfcCoil::IfcCoil(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoil)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoil::IfcCoil(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoilTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCoil::IfcCoil(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoilTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoilType IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoilType::PredefinedType() const { return IfcCoilTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCoilType::setPredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCoilTypeEnum::ToString(v)); } +void IfcCoilType::PredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCoilTypeEnum::ToString(v));; } bool IfcCoilType::is(Type::Enum v) const { return v == Type::IfcCoilType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCoilType::type() const { return Type::IfcCoilType; } Type::Enum IfcCoilType::Class() { return Type::IfcCoilType; } IfcCoilType::IfcCoilType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoilType::IfcCoilType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoilType::IfcCoilType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgb double IfcColourRgb::Red() const { return *entity->getArgument(1); } -void IfcColourRgb::setRed(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcColourRgb::Red(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcColourRgb::Green() const { return *entity->getArgument(2); } -void IfcColourRgb::setGreen(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcColourRgb::Green(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcColourRgb::Blue() const { return *entity->getArgument(3); } -void IfcColourRgb::setBlue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcColourRgb::Blue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcColourRgb::is(Type::Enum v) const { return v == Type::IfcColourRgb || IfcColourSpecification::is(v); } Type::Enum IfcColourRgb::type() const { return Type::IfcColourRgb; } Type::Enum IfcColourRgb::Class() { return Type::IfcColourRgb; } @@ -8973,9 +8868,8 @@ IfcColourRgbList::IfcColourRgbList(IfcAbstractEntity* e) : IfcPresentationItem(( IfcColourRgbList::IfcColourRgbList() : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourSpecification -bool IfcColourSpecification::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcColourSpecification::Name() const { return *entity->getArgument(0); } -void IfcColourSpecification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcColourSpecification::Name() const { return *entity->getArgument(0); } +void IfcColourSpecification::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcColourSpecification::is(Type::Enum v) const { return v == Type::IfcColourSpecification || IfcPresentationItem::is(v); } Type::Enum IfcColourSpecification::type() const { return Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::Class() { return Type::IfcColourSpecification; } @@ -8983,55 +8877,53 @@ IfcColourSpecification::IfcColourSpecification(IfcAbstractEntity* e) : IfcPresen IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumn -bool IfcColumn::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumn::PredefinedType() const { return IfcColumnTypeEnum::FromString(*entity->getArgument(8)); } -void IfcColumn::setPredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcColumnTypeEnum::ToString(v)); } +boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > IfcColumn::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcColumnTypeEnum::FromString(*arg); } } +void IfcColumn::PredefinedType(boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcColumnTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcColumn::is(Type::Enum v) const { return v == Type::IfcColumn || IfcBuildingElement::is(v); } Type::Enum IfcColumn::type() const { return Type::IfcColumn; } Type::Enum IfcColumn::Class() { return Type::IfcColumn; } IfcColumn::IfcColumn(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumn::IfcColumn(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcColumn::IfcColumn(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnStandardCase bool IfcColumnStandardCase::is(Type::Enum v) const { return v == Type::IfcColumnStandardCase || IfcColumn::is(v); } Type::Enum IfcColumnStandardCase::type() const { return Type::IfcColumnStandardCase; } Type::Enum IfcColumnStandardCase::Class() { return Type::IfcColumnStandardCase; } IfcColumnStandardCase::IfcColumnStandardCase(IfcAbstractEntity* e) : IfcColumn((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcColumn((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcColumn((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnType IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnType::PredefinedType() const { return IfcColumnTypeEnum::FromString(*entity->getArgument(9)); } -void IfcColumnType::setPredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcColumnTypeEnum::ToString(v)); } +void IfcColumnType::PredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcColumnTypeEnum::ToString(v));; } bool IfcColumnType::is(Type::Enum v) const { return v == Type::IfcColumnType || IfcBuildingElementType::is(v); } Type::Enum IfcColumnType::type() const { return Type::IfcColumnType; } Type::Enum IfcColumnType::Class() { return Type::IfcColumnType; } IfcColumnType::IfcColumnType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnType::IfcColumnType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcColumnType::IfcColumnType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCommunicationsAppliance -bool IfcCommunicationsAppliance::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum IfcCommunicationsAppliance::PredefinedType() const { return IfcCommunicationsApplianceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCommunicationsAppliance::setPredefinedType(IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCommunicationsApplianceTypeEnum::ToString(v)); } +boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > IfcCommunicationsAppliance::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCommunicationsApplianceTypeEnum::FromString(*arg); } } +void IfcCommunicationsAppliance::PredefinedType(boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCommunicationsApplianceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCommunicationsAppliance::is(Type::Enum v) const { return v == Type::IfcCommunicationsAppliance || IfcFlowTerminal::is(v); } Type::Enum IfcCommunicationsAppliance::type() const { return Type::IfcCommunicationsAppliance; } Type::Enum IfcCommunicationsAppliance::Class() { return Type::IfcCommunicationsAppliance; } IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCommunicationsApplianceType IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum IfcCommunicationsApplianceType::PredefinedType() const { return IfcCommunicationsApplianceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCommunicationsApplianceType::setPredefinedType(IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCommunicationsApplianceTypeEnum::ToString(v)); } +void IfcCommunicationsApplianceType::PredefinedType(IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCommunicationsApplianceTypeEnum::ToString(v));; } bool IfcCommunicationsApplianceType::is(Type::Enum v) const { return v == Type::IfcCommunicationsApplianceType || IfcFlowTerminalType::is(v); } Type::Enum IfcCommunicationsApplianceType::type() const { return Type::IfcCommunicationsApplianceType; } Type::Enum IfcCommunicationsApplianceType::Class() { return Type::IfcCommunicationsApplianceType; } IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexProperty std::string IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } -void IfcComplexProperty::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcComplexProperty::UsageName(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcProperty >::ptr IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcComplexProperty::HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcComplexProperty::is(Type::Enum v) const { return v == Type::IfcComplexProperty || IfcProperty::is(v); } Type::Enum IfcComplexProperty::type() const { return Type::IfcComplexProperty; } Type::Enum IfcComplexProperty::Class() { return Type::IfcComplexProperty; } @@ -9039,26 +8931,23 @@ IfcComplexProperty::IfcComplexProperty(IfcAbstractEntity* e) : IfcProperty((IfcA IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexPropertyTemplate -bool IfcComplexPropertyTemplate::hasUsageName() const { return !entity->getArgument(4)->isNull(); } -std::string IfcComplexPropertyTemplate::UsageName() const { return *entity->getArgument(4); } -void IfcComplexPropertyTemplate::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcComplexPropertyTemplate::hasTemplateType() const { return !entity->getArgument(5)->isNull(); } -IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum IfcComplexPropertyTemplate::TemplateType() const { return IfcComplexPropertyTemplateTypeEnum::FromString(*entity->getArgument(5)); } -void IfcComplexPropertyTemplate::setTemplateType(IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcComplexPropertyTemplateTypeEnum::ToString(v)); } -bool IfcComplexPropertyTemplate::hasHasPropertyTemplates() const { return !entity->getArgument(6)->isNull(); } -IfcTemplatedEntityList< IfcPropertyTemplate >::ptr IfcComplexPropertyTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcComplexPropertyTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +boost::optional< std::string > IfcComplexPropertyTemplate::UsageName() const { return *entity->getArgument(4); } +void IfcComplexPropertyTemplate::UsageName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > IfcComplexPropertyTemplate::TemplateType() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return IfcComplexPropertyTemplateTypeEnum::FromString(*arg); } } +void IfcComplexPropertyTemplate::TemplateType(boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v,IfcComplexPropertyTemplateTypeEnum::ToString(*v));; } else { w->setArgument(5); } } +boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > IfcComplexPropertyTemplate::HasPropertyTemplates() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcComplexPropertyTemplate::HasPropertyTemplates(boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,(*v)->generalize());; } else { w->setArgument(6); } } bool IfcComplexPropertyTemplate::is(Type::Enum v) const { return v == Type::IfcComplexPropertyTemplate || IfcPropertyTemplate::is(v); } Type::Enum IfcComplexPropertyTemplate::type() const { return Type::IfcComplexPropertyTemplate; } Type::Enum IfcComplexPropertyTemplate::Class() { return Type::IfcComplexPropertyTemplate; } IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_UsageName) { e->setArgument(4,(*v5_UsageName)); } else { e->setArgument(4); } if (v6_TemplateType) { e->setArgument(5,*v6_TemplateType,IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType)); } else { e->setArgument(5); } if (v7_HasPropertyTemplates) { e->setArgument(6,(*v7_HasPropertyTemplates)->generalize()); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_UsageName) { e->setArgument(4,(*v5_UsageName)); } else { e->setArgument(4); } if (v6_TemplateType) { e->setArgument(5,*v6_TemplateType,IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType)); } else { e->setArgument(5); } if (v7_HasPropertyTemplates) { e->setArgument(6,(*v7_HasPropertyTemplates)->generalize()); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeCurve IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr IfcCompositeCurve::Segments() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcCompositeCurve::setSegments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcCompositeCurve::Segments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcCompositeCurve::SelfIntersect() const { return *entity->getArgument(1); } -void IfcCompositeCurve::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCompositeCurve::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCompositeCurve::is(Type::Enum v) const { return v == Type::IfcCompositeCurve || IfcBoundedCurve::is(v); } Type::Enum IfcCompositeCurve::type() const { return Type::IfcCompositeCurve; } Type::Enum IfcCompositeCurve::Class() { return Type::IfcCompositeCurve; } @@ -9074,11 +8963,11 @@ IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcTemplatedEntityList< I // Function implementations for IfcCompositeCurveSegment IfcTransitionCode::IfcTransitionCode IfcCompositeCurveSegment::Transition() const { return IfcTransitionCode::FromString(*entity->getArgument(0)); } -void IfcCompositeCurveSegment::setTransition(IfcTransitionCode::IfcTransitionCode v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcTransitionCode::ToString(v)); } +void IfcCompositeCurveSegment::Transition(IfcTransitionCode::IfcTransitionCode v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcTransitionCode::ToString(v));; } bool IfcCompositeCurveSegment::SameSense() const { return *entity->getArgument(1); } -void IfcCompositeCurveSegment::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCompositeCurveSegment::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcCurve* IfcCompositeCurveSegment::ParentCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCompositeCurveSegment::setParentCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCompositeCurveSegment::ParentCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return entity->getInverse(Type::IfcCompositeCurve, 0)->as(); } bool IfcCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcCompositeCurveSegment || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCompositeCurveSegment::type() const { return Type::IfcCompositeCurveSegment; } @@ -9088,10 +8977,9 @@ IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransit // Function implementations for IfcCompositeProfileDef IfcTemplatedEntityList< IfcProfileDef >::ptr IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcCompositeProfileDef::hasLabel() const { return !entity->getArgument(3)->isNull(); } -std::string IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } -void IfcCompositeProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCompositeProfileDef::Profiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } +boost::optional< std::string > IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } +void IfcCompositeProfileDef::Label(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } Type::Enum IfcCompositeProfileDef::type() const { return Type::IfcCompositeProfileDef; } Type::Enum IfcCompositeProfileDef::Class() { return Type::IfcCompositeProfileDef; } @@ -9099,46 +8987,44 @@ IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntity* e) : IfcProfil IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressor -bool IfcCompressor::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressor::PredefinedType() const { return IfcCompressorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCompressor::setPredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCompressorTypeEnum::ToString(v)); } +boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > IfcCompressor::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCompressorTypeEnum::FromString(*arg); } } +void IfcCompressor::PredefinedType(boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCompressorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCompressor::is(Type::Enum v) const { return v == Type::IfcCompressor || IfcFlowMovingDevice::is(v); } Type::Enum IfcCompressor::type() const { return Type::IfcCompressor; } Type::Enum IfcCompressor::Class() { return Type::IfcCompressor; } IfcCompressor::IfcCompressor(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressor::IfcCompressor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCompressorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCompressor::IfcCompressor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCompressorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressorType IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorType::PredefinedType() const { return IfcCompressorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCompressorType::setPredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCompressorTypeEnum::ToString(v)); } +void IfcCompressorType::PredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCompressorTypeEnum::ToString(v));; } bool IfcCompressorType::is(Type::Enum v) const { return v == Type::IfcCompressorType || IfcFlowMovingDeviceType::is(v); } Type::Enum IfcCompressorType::type() const { return Type::IfcCompressorType; } Type::Enum IfcCompressorType::Class() { return Type::IfcCompressorType; } IfcCompressorType::IfcCompressorType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenser -bool IfcCondenser::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenser::PredefinedType() const { return IfcCondenserTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCondenser::setPredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCondenserTypeEnum::ToString(v)); } +boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > IfcCondenser::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCondenserTypeEnum::FromString(*arg); } } +void IfcCondenser::PredefinedType(boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCondenserTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCondenser::is(Type::Enum v) const { return v == Type::IfcCondenser || IfcEnergyConversionDevice::is(v); } Type::Enum IfcCondenser::type() const { return Type::IfcCondenser; } Type::Enum IfcCondenser::Class() { return Type::IfcCondenser; } IfcCondenser::IfcCondenser(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenser)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenser::IfcCondenser(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCondenserTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCondenser::IfcCondenser(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCondenserTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenserType IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserType::PredefinedType() const { return IfcCondenserTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCondenserType::setPredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCondenserTypeEnum::ToString(v)); } +void IfcCondenserType::PredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCondenserTypeEnum::ToString(v));; } bool IfcCondenserType::is(Type::Enum v) const { return v == Type::IfcCondenserType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCondenserType::type() const { return Type::IfcCondenserType; } Type::Enum IfcCondenserType::Class() { return Type::IfcCondenserType; } IfcCondenserType::IfcCondenserType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConic IfcAxis2Placement* IfcConic::Position() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConic::setPosition(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcConic::Position(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcConic::is(Type::Enum v) const { return v == Type::IfcConic || IfcCurve::is(v); } Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } @@ -9147,7 +9033,7 @@ IfcConic::IfcConic(IfcAxis2Placement* v1_Position) : IfcCurve((IfcAbstractEntity // Function implementations for IfcConnectedFaceSet IfcTemplatedEntityList< IfcFace >::ptr IfcConnectedFaceSet::CfsFaces() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcConnectedFaceSet::setCfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcConnectedFaceSet::CfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcConnectedFaceSet::is(Type::Enum v) const { return v == Type::IfcConnectedFaceSet || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcConnectedFaceSet::type() const { return Type::IfcConnectedFaceSet; } Type::Enum IfcConnectedFaceSet::Class() { return Type::IfcConnectedFaceSet; } @@ -9156,15 +9042,14 @@ IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< IfcFace >::ptr // Function implementations for IfcConnectionCurveGeometry IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionCurveGeometry::CurveOnRelatingElement(IfcCurveOrEdgeCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcCurveOrEdgeCurve* > IfcConnectionCurveGeometry::CurveOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionCurveGeometry::CurveOnRelatedElement(boost::optional< IfcCurveOrEdgeCurve* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionCurveGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionCurveGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionCurveGeometry::type() const { return Type::IfcConnectionCurveGeometry; } Type::Enum IfcConnectionCurveGeometry::Class() { return Type::IfcConnectionCurveGeometry; } IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); e->setArgument(1,(v2_CurveOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve* > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionGeometry bool IfcConnectionGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionGeometry; } @@ -9174,198 +9059,174 @@ IfcConnectionGeometry::IfcConnectionGeometry(IfcAbstractEntity* e) : IfcUtil::If IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointEccentricity -bool IfcConnectionPointEccentricity::hasEccentricityInX() const { return !entity->getArgument(2)->isNull(); } -double IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } -void IfcConnectionPointEccentricity::setEccentricityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInY() const { return !entity->getArgument(3)->isNull(); } -double IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } -void IfcConnectionPointEccentricity::setEccentricityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !entity->getArgument(4)->isNull(); } -double IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } -void IfcConnectionPointEccentricity::setEccentricityInZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } +void IfcConnectionPointEccentricity::EccentricityInX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } +void IfcConnectionPointEccentricity::EccentricityInY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } +void IfcConnectionPointEccentricity::EccentricityInZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcConnectionPointEccentricity::is(Type::Enum v) const { return v == Type::IfcConnectionPointEccentricity || IfcConnectionPointGeometry::is(v); } Type::Enum IfcConnectionPointEccentricity::type() const { return Type::IfcConnectionPointEccentricity; } Type::Enum IfcConnectionPointEccentricity::Class() { return Type::IfcConnectionPointEccentricity; } IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcAbstractEntity* e) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointGeometry IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatingElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatedElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionPointGeometry::PointOnRelatingElement(IfcPointOrVertexPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcPointOrVertexPoint* > IfcConnectionPointGeometry::PointOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionPointGeometry::PointOnRelatedElement(boost::optional< IfcPointOrVertexPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionPointGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPointGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPointGeometry::type() const { return Type::IfcConnectionPointGeometry; } Type::Enum IfcConnectionPointGeometry::Class() { return Type::IfcConnectionPointGeometry; } IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionSurfaceGeometry IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcSurfaceOrFaceSurface* > IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement(boost::optional< IfcSurfaceOrFaceSurface* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionSurfaceGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionSurfaceGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionSurfaceGeometry::type() const { return Type::IfcConnectionSurfaceGeometry; } Type::Enum IfcConnectionSurfaceGeometry::Class() { return Type::IfcConnectionSurfaceGeometry; } IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); e->setArgument(1,(v2_SurfaceOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface* > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionVolumeGeometry IfcSolidOrShell* IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return (IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(IfcSolidOrShell* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionVolumeGeometry::hasVolumeOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcSolidOrShell* IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { return (IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(IfcSolidOrShell* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConnectionVolumeGeometry::VolumeOnRelatingElement(IfcSolidOrShell* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcSolidOrShell* > IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConnectionVolumeGeometry::VolumeOnRelatedElement(boost::optional< IfcSolidOrShell* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcConnectionVolumeGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionVolumeGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionVolumeGeometry::type() const { return Type::IfcConnectionVolumeGeometry; } Type::Enum IfcConnectionVolumeGeometry::Class() { return Type::IfcConnectionVolumeGeometry; } IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionVolumeGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcSolidOrShell* v1_VolumeOnRelatingElement, IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VolumeOnRelatingElement)); e->setArgument(1,(v2_VolumeOnRelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcSolidOrShell* v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell* > v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VolumeOnRelatingElement)); if (v2_VolumeOnRelatedElement) { e->setArgument(1,(*v2_VolumeOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraint std::string IfcConstraint::Name() const { return *entity->getArgument(0); } -void IfcConstraint::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraint::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcConstraint::Description() const { return *entity->getArgument(1); } -void IfcConstraint::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcConstraint::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcConstraint::Description() const { return *entity->getArgument(1); } +void IfcConstraint::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcConstraintEnum::IfcConstraintEnum IfcConstraint::ConstraintGrade() const { return IfcConstraintEnum::FromString(*entity->getArgument(2)); } -void IfcConstraint::setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcConstraintEnum::ToString(v)); } -bool IfcConstraint::hasConstraintSource() const { return !entity->getArgument(3)->isNull(); } -std::string IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } -void IfcConstraint::setConstraintSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConstraint::hasCreatingActor() const { return !entity->getArgument(4)->isNull(); } -IfcActorSelect* IfcConstraint::CreatingActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcConstraint::setCreatingActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcConstraint::hasCreationTime() const { return !entity->getArgument(5)->isNull(); } -std::string IfcConstraint::CreationTime() const { return *entity->getArgument(5); } -void IfcConstraint::setCreationTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcConstraint::hasUserDefinedGrade() const { return !entity->getArgument(6)->isNull(); } -std::string IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } -void IfcConstraint::setUserDefinedGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcConstraint::ConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcConstraintEnum::ToString(v));; } +boost::optional< std::string > IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } +void IfcConstraint::ConstraintSource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcActorSelect* > IfcConstraint::CreatingActor() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstraint::CreatingActor(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcConstraint::CreationTime() const { return *entity->getArgument(5); } +void IfcConstraint::CreationTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } +void IfcConstraint::UserDefinedGrade(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcExternalReferenceRelationship::list::ptr IfcConstraint::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } IfcResourceConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return entity->getInverse(Type::IfcResourceConstraintRelationship, 2)->as(); } bool IfcConstraint::is(Type::Enum v) const { return v == Type::IfcConstraint; } Type::Enum IfcConstraint::type() const { return Type::IfcConstraint; } Type::Enum IfcConstraint::Class() { return Type::IfcConstraint; } IfcConstraint::IfcConstraint(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResource -bool IfcConstructionEquipmentResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum IfcConstructionEquipmentResource::PredefinedType() const { return IfcConstructionEquipmentResourceTypeEnum::FromString(*entity->getArgument(10)); } -void IfcConstructionEquipmentResource::setPredefinedType(IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcConstructionEquipmentResourceTypeEnum::ToString(v)); } +boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > IfcConstructionEquipmentResource::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcConstructionEquipmentResourceTypeEnum::FromString(*arg); } } +void IfcConstructionEquipmentResource::PredefinedType(boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcConstructionEquipmentResourceTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcConstructionEquipmentResource::is(Type::Enum v) const { return v == Type::IfcConstructionEquipmentResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionEquipmentResource::type() const { return Type::IfcConstructionEquipmentResource; } Type::Enum IfcConstructionEquipmentResource::Class() { return Type::IfcConstructionEquipmentResource; } IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResourceType IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum IfcConstructionEquipmentResourceType::PredefinedType() const { return IfcConstructionEquipmentResourceTypeEnum::FromString(*entity->getArgument(11)); } -void IfcConstructionEquipmentResourceType::setPredefinedType(IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcConstructionEquipmentResourceTypeEnum::ToString(v)); } +void IfcConstructionEquipmentResourceType::PredefinedType(IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcConstructionEquipmentResourceTypeEnum::ToString(v));; } bool IfcConstructionEquipmentResourceType::is(Type::Enum v) const { return v == Type::IfcConstructionEquipmentResourceType || IfcConstructionResourceType::is(v); } Type::Enum IfcConstructionEquipmentResourceType::type() const { return Type::IfcConstructionEquipmentResourceType; } Type::Enum IfcConstructionEquipmentResourceType::Class() { return Type::IfcConstructionEquipmentResourceType; } IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResource -bool IfcConstructionMaterialResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum IfcConstructionMaterialResource::PredefinedType() const { return IfcConstructionMaterialResourceTypeEnum::FromString(*entity->getArgument(10)); } -void IfcConstructionMaterialResource::setPredefinedType(IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcConstructionMaterialResourceTypeEnum::ToString(v)); } +boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > IfcConstructionMaterialResource::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcConstructionMaterialResourceTypeEnum::FromString(*arg); } } +void IfcConstructionMaterialResource::PredefinedType(boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcConstructionMaterialResourceTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcConstructionMaterialResource::is(Type::Enum v) const { return v == Type::IfcConstructionMaterialResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionMaterialResource::type() const { return Type::IfcConstructionMaterialResource; } Type::Enum IfcConstructionMaterialResource::Class() { return Type::IfcConstructionMaterialResource; } IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResourceType IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum IfcConstructionMaterialResourceType::PredefinedType() const { return IfcConstructionMaterialResourceTypeEnum::FromString(*entity->getArgument(11)); } -void IfcConstructionMaterialResourceType::setPredefinedType(IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcConstructionMaterialResourceTypeEnum::ToString(v)); } +void IfcConstructionMaterialResourceType::PredefinedType(IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcConstructionMaterialResourceTypeEnum::ToString(v));; } bool IfcConstructionMaterialResourceType::is(Type::Enum v) const { return v == Type::IfcConstructionMaterialResourceType || IfcConstructionResourceType::is(v); } Type::Enum IfcConstructionMaterialResourceType::type() const { return Type::IfcConstructionMaterialResourceType; } Type::Enum IfcConstructionMaterialResourceType::Class() { return Type::IfcConstructionMaterialResourceType; } IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResource -bool IfcConstructionProductResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum IfcConstructionProductResource::PredefinedType() const { return IfcConstructionProductResourceTypeEnum::FromString(*entity->getArgument(10)); } -void IfcConstructionProductResource::setPredefinedType(IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcConstructionProductResourceTypeEnum::ToString(v)); } +boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > IfcConstructionProductResource::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcConstructionProductResourceTypeEnum::FromString(*arg); } } +void IfcConstructionProductResource::PredefinedType(boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcConstructionProductResourceTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcConstructionProductResource::is(Type::Enum v) const { return v == Type::IfcConstructionProductResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionProductResource::type() const { return Type::IfcConstructionProductResource; } Type::Enum IfcConstructionProductResource::Class() { return Type::IfcConstructionProductResource; } IfcConstructionProductResource::IfcConstructionProductResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResourceType IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum IfcConstructionProductResourceType::PredefinedType() const { return IfcConstructionProductResourceTypeEnum::FromString(*entity->getArgument(11)); } -void IfcConstructionProductResourceType::setPredefinedType(IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcConstructionProductResourceTypeEnum::ToString(v)); } +void IfcConstructionProductResourceType::PredefinedType(IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcConstructionProductResourceTypeEnum::ToString(v));; } bool IfcConstructionProductResourceType::is(Type::Enum v) const { return v == Type::IfcConstructionProductResourceType || IfcConstructionResourceType::is(v); } Type::Enum IfcConstructionProductResourceType::type() const { return Type::IfcConstructionProductResourceType; } Type::Enum IfcConstructionProductResourceType::Class() { return Type::IfcConstructionProductResourceType; } IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResource -bool IfcConstructionResource::hasUsage() const { return !entity->getArgument(7)->isNull(); } -IfcResourceTime* IfcConstructionResource::Usage() const { return (IfcResourceTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcConstructionResource::setUsage(IfcResourceTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcConstructionResource::hasBaseCosts() const { return !entity->getArgument(8)->isNull(); } -IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcConstructionResource::BaseCosts() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcConstructionResource::setBaseCosts(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcConstructionResource::hasBaseQuantity() const { return !entity->getArgument(9)->isNull(); } -IfcPhysicalQuantity* IfcConstructionResource::BaseQuantity() const { return (IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcConstructionResource::setBaseQuantity(IfcPhysicalQuantity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< IfcResourceTime* > IfcConstructionResource::Usage() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcResourceTime*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstructionResource::Usage(boost::optional< IfcResourceTime* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > IfcConstructionResource::BaseCosts() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcConstructionResource::BaseCosts(boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,(*v)->generalize());; } else { w->setArgument(8); } } +boost::optional< IfcPhysicalQuantity* > IfcConstructionResource::BaseQuantity() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstructionResource::BaseQuantity(boost::optional< IfcPhysicalQuantity* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcConstructionResource::is(Type::Enum v) const { return v == Type::IfcConstructionResource || IfcResource::is(v); } Type::Enum IfcConstructionResource::type() const { return Type::IfcConstructionResource; } Type::Enum IfcConstructionResource::Class() { return Type::IfcConstructionResource; } IfcConstructionResource::IfcConstructionResource(IfcAbstractEntity* e) : IfcResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResourceType -bool IfcConstructionResourceType::hasBaseCosts() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcConstructionResourceType::BaseCosts() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcConstructionResourceType::setBaseCosts(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcConstructionResourceType::hasBaseQuantity() const { return !entity->getArgument(10)->isNull(); } -IfcPhysicalQuantity* IfcConstructionResourceType::BaseQuantity() const { return (IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcConstructionResourceType::setBaseQuantity(IfcPhysicalQuantity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > IfcConstructionResourceType::BaseCosts() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcConstructionResourceType::BaseCosts(boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,(*v)->generalize());; } else { w->setArgument(9); } } +boost::optional< IfcPhysicalQuantity* > IfcConstructionResourceType::BaseQuantity() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcPhysicalQuantity*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcConstructionResourceType::BaseQuantity(boost::optional< IfcPhysicalQuantity* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcConstructionResourceType::is(Type::Enum v) const { return v == Type::IfcConstructionResourceType || IfcTypeResource::is(v); } Type::Enum IfcConstructionResourceType::type() const { return Type::IfcConstructionResourceType; } Type::Enum IfcConstructionResourceType::Class() { return Type::IfcConstructionResourceType; } IfcConstructionResourceType::IfcConstructionResourceType(IfcAbstractEntity* e) : IfcTypeResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity) : IfcTypeResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContext -bool IfcContext::hasObjectType() const { return !entity->getArgument(4)->isNull(); } -std::string IfcContext::ObjectType() const { return *entity->getArgument(4); } -void IfcContext::setObjectType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcContext::hasLongName() const { return !entity->getArgument(5)->isNull(); } -std::string IfcContext::LongName() const { return *entity->getArgument(5); } -void IfcContext::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcContext::hasPhase() const { return !entity->getArgument(6)->isNull(); } -std::string IfcContext::Phase() const { return *entity->getArgument(6); } -void IfcContext::setPhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcContext::hasRepresentationContexts() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcRepresentationContext >::ptr IfcContext::RepresentationContexts() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcContext::setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcContext::hasUnitsInContext() const { return !entity->getArgument(8)->isNull(); } -IfcUnitAssignment* IfcContext::UnitsInContext() const { return (IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcContext::setUnitsInContext(IfcUnitAssignment* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcContext::ObjectType() const { return *entity->getArgument(4); } +void IfcContext::ObjectType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcContext::LongName() const { return *entity->getArgument(5); } +void IfcContext::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcContext::Phase() const { return *entity->getArgument(6); } +void IfcContext::Phase(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > IfcContext::RepresentationContexts() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcContext::RepresentationContexts(boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< IfcUnitAssignment* > IfcContext::UnitsInContext() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcContext::UnitsInContext(boost::optional< IfcUnitAssignment* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcRelDefinesByProperties::list::ptr IfcContext::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefinesByProperties, 4)->as(); } IfcRelDeclares::list::ptr IfcContext::Declares() const { return entity->getInverse(Type::IfcRelDeclares, 4)->as(); } bool IfcContext::is(Type::Enum v) const { return v == Type::IfcContext || IfcObjectDefinition::is(v); } Type::Enum IfcContext::type() const { return Type::IfcContext; } Type::Enum IfcContext::Class() { return Type::IfcContext; } IfcContext::IfcContext(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContext::IfcContext(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcContext::IfcContext(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, boost::optional< IfcUnitAssignment* > v9_UnitsInContext) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } if (v9_UnitsInContext) { e->setArgument(8,(*v9_UnitsInContext)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContextDependentUnit std::string IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } -void IfcContextDependentUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcContextDependentUnit::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcExternalReferenceRelationship::list::ptr IfcContextDependentUnit::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } bool IfcContextDependentUnit::is(Type::Enum v) const { return v == Type::IfcContextDependentUnit || IfcNamedUnit::is(v); } Type::Enum IfcContextDependentUnit::type() const { return Type::IfcContextDependentUnit; } @@ -9374,40 +9235,38 @@ IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntity* e) : IfcName IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControl -bool IfcControl::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -std::string IfcControl::Identification() const { return *entity->getArgument(5); } -void IfcControl::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< std::string > IfcControl::Identification() const { return *entity->getArgument(5); } +void IfcControl::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return entity->getInverse(Type::IfcRelAssignsToControl, 6)->as(); } bool IfcControl::is(Type::Enum v) const { return v == Type::IfcControl || IfcObject::is(v); } Type::Enum IfcControl::type() const { return Type::IfcControl; } Type::Enum IfcControl::Class() { return Type::IfcControl; } IfcControl::IfcControl(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControl::IfcControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcControl::IfcControl(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcController -bool IfcController::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcControllerTypeEnum::IfcControllerTypeEnum IfcController::PredefinedType() const { return IfcControllerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcController::setPredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcControllerTypeEnum::ToString(v)); } +boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > IfcController::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcControllerTypeEnum::FromString(*arg); } } +void IfcController::PredefinedType(boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcControllerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcController::is(Type::Enum v) const { return v == Type::IfcController || IfcDistributionControlElement::is(v); } Type::Enum IfcController::type() const { return Type::IfcController; } Type::Enum IfcController::Class() { return Type::IfcController; } IfcController::IfcController(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcController::IfcController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcControllerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcController::IfcController(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcControllerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControllerType IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerType::PredefinedType() const { return IfcControllerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcControllerType::setPredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcControllerTypeEnum::ToString(v)); } +void IfcControllerType::PredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcControllerTypeEnum::ToString(v));; } bool IfcControllerType::is(Type::Enum v) const { return v == Type::IfcControllerType || IfcDistributionControlElementType::is(v); } Type::Enum IfcControllerType::type() const { return Type::IfcControllerType; } Type::Enum IfcControllerType::Class() { return Type::IfcControllerType; } IfcControllerType::IfcControllerType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControllerType::IfcControllerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcControllerType::IfcControllerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnit std::string IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } -void IfcConversionBasedUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcConversionBasedUnit::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcConversionBasedUnit::ConversionFactor(IfcMeasureWithUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcExternalReferenceRelationship::list::ptr IfcConversionBasedUnit::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } bool IfcConversionBasedUnit::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnit || IfcNamedUnit::is(v); } Type::Enum IfcConversionBasedUnit::type() const { return Type::IfcConversionBasedUnit; } @@ -9417,7 +9276,7 @@ IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimen // Function implementations for IfcConversionBasedUnitWithOffset double IfcConversionBasedUnitWithOffset::ConversionOffset() const { return *entity->getArgument(4); } -void IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcConversionBasedUnitWithOffset::ConversionOffset(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcConversionBasedUnitWithOffset::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnitWithOffset || IfcConversionBasedUnit::is(v); } Type::Enum IfcConversionBasedUnitWithOffset::type() const { return Type::IfcConversionBasedUnitWithOffset; } Type::Enum IfcConversionBasedUnitWithOffset::Class() { return Type::IfcConversionBasedUnitWithOffset; } @@ -9425,48 +9284,46 @@ IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcAbstractEn IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); e->setArgument(4,(v5_ConversionOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeam -bool IfcCooledBeam::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeam::PredefinedType() const { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCooledBeam::setPredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCooledBeamTypeEnum::ToString(v)); } +boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > IfcCooledBeam::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCooledBeamTypeEnum::FromString(*arg); } } +void IfcCooledBeam::PredefinedType(boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCooledBeamTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCooledBeam::is(Type::Enum v) const { return v == Type::IfcCooledBeam || IfcEnergyConversionDevice::is(v); } Type::Enum IfcCooledBeam::type() const { return Type::IfcCooledBeam; } Type::Enum IfcCooledBeam::Class() { return Type::IfcCooledBeam; } IfcCooledBeam::IfcCooledBeam(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCooledBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCooledBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeamType IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamType::PredefinedType() const { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCooledBeamType::setPredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCooledBeamTypeEnum::ToString(v)); } +void IfcCooledBeamType::PredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCooledBeamTypeEnum::ToString(v));; } bool IfcCooledBeamType::is(Type::Enum v) const { return v == Type::IfcCooledBeamType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCooledBeamType::type() const { return Type::IfcCooledBeamType; } Type::Enum IfcCooledBeamType::Class() { return Type::IfcCooledBeamType; } IfcCooledBeamType::IfcCooledBeamType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTower -bool IfcCoolingTower::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTower::PredefinedType() const { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCoolingTower::setPredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCoolingTowerTypeEnum::ToString(v)); } +boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > IfcCoolingTower::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCoolingTowerTypeEnum::FromString(*arg); } } +void IfcCoolingTower::PredefinedType(boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCoolingTowerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCoolingTower::is(Type::Enum v) const { return v == Type::IfcCoolingTower || IfcEnergyConversionDevice::is(v); } Type::Enum IfcCoolingTower::type() const { return Type::IfcCoolingTower; } Type::Enum IfcCoolingTower::Class() { return Type::IfcCoolingTower; } IfcCoolingTower::IfcCoolingTower(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTower)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoolingTowerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoolingTowerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTowerType IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerType::PredefinedType() const { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCoolingTowerType::setPredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCoolingTowerTypeEnum::ToString(v)); } +void IfcCoolingTowerType::PredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCoolingTowerTypeEnum::ToString(v));; } bool IfcCoolingTowerType::is(Type::Enum v) const { return v == Type::IfcCoolingTowerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcCoolingTowerType::type() const { return Type::IfcCoolingTowerType; } Type::Enum IfcCoolingTowerType::Class() { return Type::IfcCoolingTowerType; } IfcCoolingTowerType::IfcCoolingTowerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateOperation IfcCoordinateReferenceSystemSelect* IfcCoordinateOperation::SourceCRS() const { return (IfcCoordinateReferenceSystemSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCoordinateOperation::setSourceCRS(IfcCoordinateReferenceSystemSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCoordinateOperation::SourceCRS(IfcCoordinateReferenceSystemSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCoordinateReferenceSystem* IfcCoordinateOperation::TargetCRS() const { return (IfcCoordinateReferenceSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCoordinateOperation::setTargetCRS(IfcCoordinateReferenceSystem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCoordinateOperation::TargetCRS(IfcCoordinateReferenceSystem* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCoordinateOperation::is(Type::Enum v) const { return v == Type::IfcCoordinateOperation; } Type::Enum IfcCoordinateOperation::type() const { return Type::IfcCoordinateOperation; } Type::Enum IfcCoordinateOperation::Class() { return Type::IfcCoordinateOperation; } @@ -9474,17 +9331,14 @@ IfcCoordinateOperation::IfcCoordinateOperation(IfcAbstractEntity* e) : IfcUtil:: IfcCoordinateOperation::IfcCoordinateOperation(IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateReferenceSystem -bool IfcCoordinateReferenceSystem::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } -void IfcCoordinateReferenceSystem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcCoordinateReferenceSystem::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } -void IfcCoordinateReferenceSystem::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } +void IfcCoordinateReferenceSystem::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } +void IfcCoordinateReferenceSystem::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } std::string IfcCoordinateReferenceSystem::GeodeticDatum() const { return *entity->getArgument(2); } -void IfcCoordinateReferenceSystem::setGeodeticDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !entity->getArgument(3)->isNull(); } -std::string IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } -void IfcCoordinateReferenceSystem::setVerticalDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCoordinateReferenceSystem::GeodeticDatum(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< std::string > IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } +void IfcCoordinateReferenceSystem::VerticalDatum(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcCoordinateReferenceSystem::is(Type::Enum v) const { return v == Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::type() const { return Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::Class() { return Type::IfcCoordinateReferenceSystem; } @@ -9492,90 +9346,81 @@ IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcAbstractEntity* e) IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem -bool IfcCostItem::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcCostItemTypeEnum::IfcCostItemTypeEnum IfcCostItem::PredefinedType() const { return IfcCostItemTypeEnum::FromString(*entity->getArgument(6)); } -void IfcCostItem::setPredefinedType(IfcCostItemTypeEnum::IfcCostItemTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcCostItemTypeEnum::ToString(v)); } -bool IfcCostItem::hasCostValues() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcCostValue >::ptr IfcCostItem::CostValues() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcCostItem::setCostValues(IfcTemplatedEntityList< IfcCostValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcCostItem::hasCostQuantities() const { return !entity->getArgument(8)->isNull(); } -IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcCostItem::CostQuantities() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcCostItem::setCostQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > IfcCostItem::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcCostItemTypeEnum::FromString(*arg); } } +void IfcCostItem::PredefinedType(boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcCostItemTypeEnum::ToString(*v));; } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > IfcCostItem::CostValues() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcCostItem::CostValues(boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > IfcCostItem::CostQuantities() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcCostItem::CostQuantities(boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,(*v)->generalize());; } else { w->setArgument(8); } } bool IfcCostItem::is(Type::Enum v) const { return v == Type::IfcCostItem || IfcControl::is(v); } Type::Enum IfcCostItem::type() const { return Type::IfcCostItem; } Type::Enum IfcCostItem::Class() { return Type::IfcCostItem; } IfcCostItem::IfcCostItem(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostItem::IfcCostItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostItemTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_CostValues) { e->setArgument(7,(*v8_CostValues)->generalize()); } else { e->setArgument(7); } if (v9_CostQuantities) { e->setArgument(8,(*v9_CostQuantities)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCostItem::IfcCostItem(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostItemTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_CostValues) { e->setArgument(7,(*v8_CostValues)->generalize()); } else { e->setArgument(7); } if (v9_CostQuantities) { e->setArgument(8,(*v9_CostQuantities)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostSchedule -bool IfcCostSchedule::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() const { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(6)); } -void IfcCostSchedule::setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcCostScheduleTypeEnum::ToString(v)); } -bool IfcCostSchedule::hasStatus() const { return !entity->getArgument(7)->isNull(); } -std::string IfcCostSchedule::Status() const { return *entity->getArgument(7); } -void IfcCostSchedule::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcCostSchedule::hasSubmittedOn() const { return !entity->getArgument(8)->isNull(); } -std::string IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(8); } -void IfcCostSchedule::setSubmittedOn(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcCostSchedule::hasUpdateDate() const { return !entity->getArgument(9)->isNull(); } -std::string IfcCostSchedule::UpdateDate() const { return *entity->getArgument(9); } -void IfcCostSchedule::setUpdateDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > IfcCostSchedule::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcCostScheduleTypeEnum::FromString(*arg); } } +void IfcCostSchedule::PredefinedType(boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcCostScheduleTypeEnum::ToString(*v));; } else { w->setArgument(6); } } +boost::optional< std::string > IfcCostSchedule::Status() const { return *entity->getArgument(7); } +void IfcCostSchedule::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(8); } +void IfcCostSchedule::SubmittedOn(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcCostSchedule::UpdateDate() const { return *entity->getArgument(9); } +void IfcCostSchedule::UpdateDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcCostSchedule::is(Type::Enum v) const { return v == Type::IfcCostSchedule || IfcControl::is(v); } Type::Enum IfcCostSchedule::type() const { return Type::IfcCostSchedule; } Type::Enum IfcCostSchedule::Class() { return Type::IfcCostSchedule; } IfcCostSchedule::IfcCostSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostScheduleTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_SubmittedOn) { e->setArgument(8,(*v9_SubmittedOn)); } else { e->setArgument(8); } if (v10_UpdateDate) { e->setArgument(9,(*v10_UpdateDate)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostScheduleTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_SubmittedOn) { e->setArgument(8,(*v9_SubmittedOn)); } else { e->setArgument(8); } if (v10_UpdateDate) { e->setArgument(9,(*v10_UpdateDate)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostValue bool IfcCostValue::is(Type::Enum v) const { return v == Type::IfcCostValue || IfcAppliedValue::is(v); } Type::Enum IfcCostValue::type() const { return Type::IfcCostValue; } Type::Enum IfcCostValue::Class() { return Type::IfcCostValue; } IfcCostValue::IfcCostValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } if (v4_UnitBasis) { e->setArgument(3,(*v4_UnitBasis)); } else { e->setArgument(3); } if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCovering -bool IfcCovering::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCovering::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCovering::setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCoveringTypeEnum::ToString(v)); } +boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > IfcCovering::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCoveringTypeEnum::FromString(*arg); } } +void IfcCovering::PredefinedType(boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCoveringTypeEnum::ToString(*v));; } else { w->setArgument(8); } } IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return entity->getInverse(Type::IfcRelCoversSpaces, 5)->as(); } IfcRelCoversBldgElements::list::ptr IfcCovering::CoversElements() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 5)->as(); } bool IfcCovering::is(Type::Enum v) const { return v == Type::IfcCovering || IfcBuildingElement::is(v); } Type::Enum IfcCovering::type() const { return Type::IfcCovering; } Type::Enum IfcCovering::Class() { return Type::IfcCovering; } IfcCovering::IfcCovering(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCovering::IfcCovering(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCovering::IfcCovering(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoveringType IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringType::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCoveringType::setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCoveringTypeEnum::ToString(v)); } +void IfcCoveringType::PredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCoveringTypeEnum::ToString(v));; } bool IfcCoveringType::is(Type::Enum v) const { return v == Type::IfcCoveringType || IfcBuildingElementType::is(v); } Type::Enum IfcCoveringType::type() const { return Type::IfcCoveringType; } Type::Enum IfcCoveringType::Class() { return Type::IfcCoveringType; } IfcCoveringType::IfcCoveringType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResource -bool IfcCrewResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum IfcCrewResource::PredefinedType() const { return IfcCrewResourceTypeEnum::FromString(*entity->getArgument(10)); } -void IfcCrewResource::setPredefinedType(IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcCrewResourceTypeEnum::ToString(v)); } +boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > IfcCrewResource::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcCrewResourceTypeEnum::FromString(*arg); } } +void IfcCrewResource::PredefinedType(boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcCrewResourceTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcCrewResource::is(Type::Enum v) const { return v == Type::IfcCrewResource || IfcConstructionResource::is(v); } Type::Enum IfcCrewResource::type() const { return Type::IfcCrewResource; } Type::Enum IfcCrewResource::Class() { return Type::IfcCrewResource; } IfcCrewResource::IfcCrewResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResourceType IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum IfcCrewResourceType::PredefinedType() const { return IfcCrewResourceTypeEnum::FromString(*entity->getArgument(11)); } -void IfcCrewResourceType::setPredefinedType(IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcCrewResourceTypeEnum::ToString(v)); } +void IfcCrewResourceType::PredefinedType(IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcCrewResourceTypeEnum::ToString(v));; } bool IfcCrewResourceType::is(Type::Enum v) const { return v == Type::IfcCrewResourceType || IfcConstructionResourceType::is(v); } Type::Enum IfcCrewResourceType::type() const { return Type::IfcCrewResourceType; } Type::Enum IfcCrewResourceType::Class() { return Type::IfcCrewResourceType; } IfcCrewResourceType::IfcCrewResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcCrewResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcCrewResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgPrimitive3D IfcAxis2Placement3D* IfcCsgPrimitive3D::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCsgPrimitive3D::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCsgPrimitive3D::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcCsgPrimitive3D::is(Type::Enum v) const { return v == Type::IfcCsgPrimitive3D || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCsgPrimitive3D::type() const { return Type::IfcCsgPrimitive3D; } Type::Enum IfcCsgPrimitive3D::Class() { return Type::IfcCsgPrimitive3D; } @@ -9584,7 +9429,7 @@ IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeom // Function implementations for IfcCsgSolid IfcCsgSelect* IfcCsgSolid::TreeRootExpression() const { return (IfcCsgSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCsgSolid::TreeRootExpression(IfcCsgSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcCsgSolid::is(Type::Enum v) const { return v == Type::IfcCsgSolid || IfcSolidModel::is(v); } Type::Enum IfcCsgSolid::type() const { return Type::IfcCsgSolid; } Type::Enum IfcCsgSolid::Class() { return Type::IfcCsgSolid; } @@ -9593,41 +9438,38 @@ IfcCsgSolid::IfcCsgSolid(IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((I // Function implementations for IfcCurrencyRelationship IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCurrencyRelationship::setRelatingMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCurrencyRelationship::RelatingMonetaryUnit(IfcMonetaryUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcCurrencyRelationship::setRelatedMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcCurrencyRelationship::RelatedMonetaryUnit(IfcMonetaryUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(4); } -void IfcCurrencyRelationship::setExchangeRate(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcCurrencyRelationship::hasRateDateTime() const { return !entity->getArgument(5)->isNull(); } -std::string IfcCurrencyRelationship::RateDateTime() const { return *entity->getArgument(5); } -void IfcCurrencyRelationship::setRateDateTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcCurrencyRelationship::hasRateSource() const { return !entity->getArgument(6)->isNull(); } -IfcLibraryInformation* IfcCurrencyRelationship::RateSource() const { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcCurrencyRelationship::setRateSource(IfcLibraryInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcCurrencyRelationship::ExchangeRate(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< std::string > IfcCurrencyRelationship::RateDateTime() const { return *entity->getArgument(5); } +void IfcCurrencyRelationship::RateDateTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcLibraryInformation* > IfcCurrencyRelationship::RateSource() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurrencyRelationship::RateSource(boost::optional< IfcLibraryInformation* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcCurrencyRelationship::is(Type::Enum v) const { return v == Type::IfcCurrencyRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcCurrencyRelationship::type() const { return Type::IfcCurrencyRelationship; } Type::Enum IfcCurrencyRelationship::Class() { return Type::IfcCurrencyRelationship; } IfcCurrencyRelationship::IfcCurrencyRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMonetaryUnit)); e->setArgument(3,(v4_RelatedMonetaryUnit)); e->setArgument(4,(v5_ExchangeRate)); if (v6_RateDateTime) { e->setArgument(5,(*v6_RateDateTime)); } else { e->setArgument(5); } e->setArgument(6,(v7_RateSource)); entity = e; EntityBuffer::Add(this); } +IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, boost::optional< IfcLibraryInformation* > v7_RateSource) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMonetaryUnit)); e->setArgument(3,(v4_RelatedMonetaryUnit)); e->setArgument(4,(v5_ExchangeRate)); if (v6_RateDateTime) { e->setArgument(5,(*v6_RateDateTime)); } else { e->setArgument(5); } if (v7_RateSource) { e->setArgument(6,(*v7_RateSource)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWall -bool IfcCurtainWall::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWall::PredefinedType() const { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(8)); } -void IfcCurtainWall::setPredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcCurtainWallTypeEnum::ToString(v)); } +boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > IfcCurtainWall::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcCurtainWallTypeEnum::FromString(*arg); } } +void IfcCurtainWall::PredefinedType(boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcCurtainWallTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcCurtainWall::is(Type::Enum v) const { return v == Type::IfcCurtainWall || IfcBuildingElement::is(v); } Type::Enum IfcCurtainWall::type() const { return Type::IfcCurtainWall; } Type::Enum IfcCurtainWall::Class() { return Type::IfcCurtainWall; } IfcCurtainWall::IfcCurtainWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCurtainWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCurtainWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWallType IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallType::PredefinedType() const { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(9)); } -void IfcCurtainWallType::setPredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcCurtainWallTypeEnum::ToString(v)); } +void IfcCurtainWallType::PredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcCurtainWallTypeEnum::ToString(v));; } bool IfcCurtainWallType::is(Type::Enum v) const { return v == Type::IfcCurtainWallType || IfcBuildingElementType::is(v); } Type::Enum IfcCurtainWallType::type() const { return Type::IfcCurtainWallType; } Type::Enum IfcCurtainWallType::Class() { return Type::IfcCurtainWallType; } IfcCurtainWallType::IfcCurtainWallType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurve bool IfcCurve::is(Type::Enum v) const { return v == Type::IfcCurve || IfcGeometricRepresentationItem::is(v); } @@ -9638,11 +9480,11 @@ IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcCurveBoundedPlane IfcPlane* IfcCurveBoundedPlane::BasisSurface() const { return (IfcPlane*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCurveBoundedPlane::setBasisSurface(IfcPlane* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCurveBoundedPlane::BasisSurface(IfcPlane* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCurve* IfcCurveBoundedPlane::OuterBoundary() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurveBoundedPlane::setOuterBoundary(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurveBoundedPlane::OuterBoundary(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTemplatedEntityList< IfcCurve >::ptr IfcCurveBoundedPlane::InnerBoundaries() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcCurveBoundedPlane::setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcCurveBoundedPlane::InnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcCurveBoundedPlane::is(Type::Enum v) const { return v == Type::IfcCurveBoundedPlane || IfcBoundedSurface::is(v); } Type::Enum IfcCurveBoundedPlane::type() const { return Type::IfcCurveBoundedPlane; } Type::Enum IfcCurveBoundedPlane::Class() { return Type::IfcCurveBoundedPlane; } @@ -9651,11 +9493,11 @@ IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcPlane* v1_BasisSurface, IfcCurve* // Function implementations for IfcCurveBoundedSurface IfcSurface* IfcCurveBoundedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcCurveBoundedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCurveBoundedSurface::BasisSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcBoundaryCurve >::ptr IfcCurveBoundedSurface::Boundaries() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcCurveBoundedSurface::setBoundaries(IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcCurveBoundedSurface::Boundaries(IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcCurveBoundedSurface::ImplicitOuter() const { return *entity->getArgument(2); } -void IfcCurveBoundedSurface::setImplicitOuter(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCurveBoundedSurface::ImplicitOuter(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcCurveBoundedSurface::is(Type::Enum v) const { return v == Type::IfcCurveBoundedSurface || IfcBoundedSurface::is(v); } Type::Enum IfcCurveBoundedSurface::type() const { return Type::IfcCurveBoundedSurface; } Type::Enum IfcCurveBoundedSurface::Class() { return Type::IfcCurveBoundedSurface; } @@ -9663,30 +9505,25 @@ IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcAbstractEntity* e) : IfcBounde IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcSurface* v1_BasisSurface, IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_Boundaries)->generalize()); e->setArgument(2,(v3_ImplicitOuter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyle -bool IfcCurveStyle::hasCurveFont() const { return !entity->getArgument(1)->isNull(); } -IfcCurveFontOrScaledCurveFontSelect* IfcCurveStyle::CurveFont() const { return (IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcCurveStyle::hasCurveWidth() const { return !entity->getArgument(2)->isNull(); } -IfcSizeSelect* IfcCurveStyle::CurveWidth() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcCurveStyle::setCurveWidth(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCurveStyle::hasCurveColour() const { return !entity->getArgument(3)->isNull(); } -IfcColour* IfcCurveStyle::CurveColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcCurveStyle::setCurveColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcCurveStyle::hasModelOrDraughting() const { return !entity->getArgument(4)->isNull(); } -bool IfcCurveStyle::ModelOrDraughting() const { return *entity->getArgument(4); } -void IfcCurveStyle::setModelOrDraughting(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcCurveFontOrScaledCurveFontSelect* > IfcCurveStyle::CurveFont() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurveStyle::CurveFont(boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcSizeSelect* > IfcCurveStyle::CurveWidth() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurveStyle::CurveWidth(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcColour* > IfcCurveStyle::CurveColour() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcCurveStyle::CurveColour(boost::optional< IfcColour* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< bool > IfcCurveStyle::ModelOrDraughting() const { return *entity->getArgument(4); } +void IfcCurveStyle::ModelOrDraughting(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcCurveStyle::is(Type::Enum v) const { return v == Type::IfcCurveStyle || IfcPresentationStyle::is(v); } Type::Enum IfcCurveStyle::type() const { return Type::IfcCurveStyle; } Type::Enum IfcCurveStyle::Class() { return Type::IfcCurveStyle; } IfcCurveStyle::IfcCurveStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveWidth)); e->setArgument(3,(v4_CurveColour)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v2_CurveFont, boost::optional< IfcSizeSelect* > v3_CurveWidth, boost::optional< IfcColour* > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFont -bool IfcCurveStyleFont::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFont::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFont::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcCurveStyleFont::PatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcCurveStyleFont::is(Type::Enum v) const { return v == Type::IfcCurveStyleFont || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFont::type() const { return Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::Class() { return Type::IfcCurveStyleFont; } @@ -9694,13 +9531,12 @@ IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntity* e) : IfcPresentationItem IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontAndScaling -bool IfcCurveStyleFontAndScaling::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFontAndScaling::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFontAndScaling::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcCurveStyleFontSelect* IfcCurveStyleFontAndScaling::CurveFont() const { return (IfcCurveStyleFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurveStyleFontAndScaling::CurveFont(IfcCurveStyleFontSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } -void IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcCurveStyleFontAndScaling::CurveFontScaling(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcCurveStyleFontAndScaling::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontAndScaling || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFontAndScaling::type() const { return Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::Class() { return Type::IfcCurveStyleFontAndScaling; } @@ -9709,9 +9545,9 @@ IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::s // Function implementations for IfcCurveStyleFontPattern double IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } -void IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcCurveStyleFontPattern::VisibleSegmentLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } -void IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCurveStyleFontPattern::InvisibleSegmentLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCurveStyleFontPattern::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontPattern || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFontPattern::type() const { return Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::Class() { return Type::IfcCurveStyleFontPattern; } @@ -9720,7 +9556,7 @@ IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLengt // Function implementations for IfcCylindricalSurface double IfcCylindricalSurface::Radius() const { return *entity->getArgument(1); } -void IfcCylindricalSurface::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcCylindricalSurface::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcCylindricalSurface::is(Type::Enum v) const { return v == Type::IfcCylindricalSurface || IfcElementarySurface::is(v); } Type::Enum IfcCylindricalSurface::type() const { return Type::IfcCylindricalSurface; } Type::Enum IfcCylindricalSurface::Class() { return Type::IfcCylindricalSurface; } @@ -9728,32 +9564,30 @@ IfcCylindricalSurface::IfcCylindricalSurface(IfcAbstractEntity* e) : IfcElementa IfcCylindricalSurface::IfcCylindricalSurface(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamper -bool IfcDamper::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamper::PredefinedType() const { return IfcDamperTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDamper::setPredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDamperTypeEnum::ToString(v)); } +boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > IfcDamper::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDamperTypeEnum::FromString(*arg); } } +void IfcDamper::PredefinedType(boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDamperTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcDamper::is(Type::Enum v) const { return v == Type::IfcDamper || IfcFlowController::is(v); } Type::Enum IfcDamper::type() const { return Type::IfcDamper; } Type::Enum IfcDamper::Class() { return Type::IfcDamper; } IfcDamper::IfcDamper(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamper)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamper::IfcDamper(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDamperTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDamper::IfcDamper(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDamperTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamperType IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperType::PredefinedType() const { return IfcDamperTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDamperType::setPredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDamperTypeEnum::ToString(v)); } +void IfcDamperType::PredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDamperTypeEnum::ToString(v));; } bool IfcDamperType::is(Type::Enum v) const { return v == Type::IfcDamperType || IfcFlowControllerType::is(v); } Type::Enum IfcDamperType::type() const { return Type::IfcDamperType; } Type::Enum IfcDamperType::Class() { return Type::IfcDamperType; } IfcDamperType::IfcDamperType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamperType::IfcDamperType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDamperType::IfcDamperType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedProfileDef IfcProfileDef* IfcDerivedProfileDef::ParentProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcDerivedProfileDef::setParentProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDerivedProfileDef::ParentProfile(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcCartesianTransformationOperator2D* IfcDerivedProfileDef::Operator() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcDerivedProfileDef::setOperator(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcDerivedProfileDef::hasLabel() const { return !entity->getArgument(4)->isNull(); } -std::string IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } -void IfcDerivedProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcDerivedProfileDef::Operator(IfcCartesianTransformationOperator2D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } +void IfcDerivedProfileDef::Label(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcDerivedProfileDef::is(Type::Enum v) const { return v == Type::IfcDerivedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDef; } Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } @@ -9762,12 +9596,11 @@ IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnu // Function implementations for IfcDerivedUnit IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr IfcDerivedUnit::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcDerivedUnit::setElements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcDerivedUnit::Elements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() const { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } -void IfcDerivedUnit::setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcDerivedUnitEnum::ToString(v)); } -bool IfcDerivedUnit::hasUserDefinedType() const { return !entity->getArgument(2)->isNull(); } -std::string IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } -void IfcDerivedUnit::setUserDefinedType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDerivedUnit::UnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcDerivedUnitEnum::ToString(v));; } +boost::optional< std::string > IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } +void IfcDerivedUnit::UserDefinedType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcDerivedUnit::is(Type::Enum v) const { return v == Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::type() const { return Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::Class() { return Type::IfcDerivedUnit; } @@ -9776,9 +9609,9 @@ IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >:: // Function implementations for IfcDerivedUnitElement IfcNamedUnit* IfcDerivedUnitElement::Unit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcDerivedUnitElement::setUnit(IfcNamedUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDerivedUnitElement::Unit(IfcNamedUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } int IfcDerivedUnitElement::Exponent() const { return *entity->getArgument(1); } -void IfcDerivedUnitElement::setExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcDerivedUnitElement::Exponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcDerivedUnitElement::is(Type::Enum v) const { return v == Type::IfcDerivedUnitElement; } Type::Enum IfcDerivedUnitElement::type() const { return Type::IfcDerivedUnitElement; } Type::Enum IfcDerivedUnitElement::Class() { return Type::IfcDerivedUnitElement; } @@ -9787,19 +9620,19 @@ IfcDerivedUnitElement::IfcDerivedUnitElement(IfcNamedUnit* v1_Unit, int v2_Expon // Function implementations for IfcDimensionalExponents int IfcDimensionalExponents::LengthExponent() const { return *entity->getArgument(0); } -void IfcDimensionalExponents::setLengthExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDimensionalExponents::LengthExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } int IfcDimensionalExponents::MassExponent() const { return *entity->getArgument(1); } -void IfcDimensionalExponents::setMassExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcDimensionalExponents::MassExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } int IfcDimensionalExponents::TimeExponent() const { return *entity->getArgument(2); } -void IfcDimensionalExponents::setTimeExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDimensionalExponents::TimeExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } int IfcDimensionalExponents::ElectricCurrentExponent() const { return *entity->getArgument(3); } -void IfcDimensionalExponents::setElectricCurrentExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcDimensionalExponents::ElectricCurrentExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } int IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { return *entity->getArgument(4); } -void IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcDimensionalExponents::ThermodynamicTemperatureExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } int IfcDimensionalExponents::AmountOfSubstanceExponent() const { return *entity->getArgument(5); } -void IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcDimensionalExponents::AmountOfSubstanceExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } int IfcDimensionalExponents::LuminousIntensityExponent() const { return *entity->getArgument(6); } -void IfcDimensionalExponents::setLuminousIntensityExponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcDimensionalExponents::LuminousIntensityExponent(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcDimensionalExponents::is(Type::Enum v) const { return v == Type::IfcDimensionalExponents; } Type::Enum IfcDimensionalExponents::type() const { return Type::IfcDimensionalExponents; } Type::Enum IfcDimensionalExponents::Class() { return Type::IfcDimensionalExponents; } @@ -9808,7 +9641,7 @@ IfcDimensionalExponents::IfcDimensionalExponents(int v1_LengthExponent, int v2_M // Function implementations for IfcDirection std::vector< double > /*[2:3]*/ IfcDirection::DirectionRatios() const { return *entity->getArgument(0); } -void IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDirection::DirectionRatios(std::vector< double > /*[2:3]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcDirection::is(Type::Enum v) const { return v == Type::IfcDirection || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDirection::type() const { return Type::IfcDirection; } Type::Enum IfcDirection::Class() { return Type::IfcDirection; } @@ -9816,49 +9649,47 @@ IfcDirection::IfcDirection(IfcAbstractEntity* e) : IfcGeometricRepresentationIte IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DirectionRatios)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessory -bool IfcDiscreteAccessory::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum IfcDiscreteAccessory::PredefinedType() const { return IfcDiscreteAccessoryTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDiscreteAccessory::setPredefinedType(IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDiscreteAccessoryTypeEnum::ToString(v)); } +boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > IfcDiscreteAccessory::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDiscreteAccessoryTypeEnum::FromString(*arg); } } +void IfcDiscreteAccessory::PredefinedType(boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDiscreteAccessoryTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcDiscreteAccessory::is(Type::Enum v) const { return v == Type::IfcDiscreteAccessory || IfcElementComponent::is(v); } Type::Enum IfcDiscreteAccessory::type() const { return Type::IfcDiscreteAccessory; } Type::Enum IfcDiscreteAccessory::Class() { return Type::IfcDiscreteAccessory; } IfcDiscreteAccessory::IfcDiscreteAccessory(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessoryType IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum IfcDiscreteAccessoryType::PredefinedType() const { return IfcDiscreteAccessoryTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDiscreteAccessoryType::setPredefinedType(IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDiscreteAccessoryTypeEnum::ToString(v)); } +void IfcDiscreteAccessoryType::PredefinedType(IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDiscreteAccessoryTypeEnum::ToString(v));; } bool IfcDiscreteAccessoryType::is(Type::Enum v) const { return v == Type::IfcDiscreteAccessoryType || IfcElementComponentType::is(v); } Type::Enum IfcDiscreteAccessoryType::type() const { return Type::IfcDiscreteAccessoryType; } Type::Enum IfcDiscreteAccessoryType::Class() { return Type::IfcDiscreteAccessoryType; } IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElement -bool IfcDistributionChamberElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElement::PredefinedType() const { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDistributionChamberElement::setPredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDistributionChamberElementTypeEnum::ToString(v)); } +boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > IfcDistributionChamberElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDistributionChamberElementTypeEnum::FromString(*arg); } } +void IfcDistributionChamberElement::PredefinedType(boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDistributionChamberElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcDistributionChamberElement::is(Type::Enum v) const { return v == Type::IfcDistributionChamberElement || IfcDistributionFlowElement::is(v); } Type::Enum IfcDistributionChamberElement::type() const { return Type::IfcDistributionChamberElement; } Type::Enum IfcDistributionChamberElement::Class() { return Type::IfcDistributionChamberElement; } IfcDistributionChamberElement::IfcDistributionChamberElement(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElementType IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementType::PredefinedType() const { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDistributionChamberElementType::setPredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDistributionChamberElementTypeEnum::ToString(v)); } +void IfcDistributionChamberElementType::PredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDistributionChamberElementTypeEnum::ToString(v));; } bool IfcDistributionChamberElementType::is(Type::Enum v) const { return v == Type::IfcDistributionChamberElementType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcDistributionChamberElementType::type() const { return Type::IfcDistributionChamberElementType; } Type::Enum IfcDistributionChamberElementType::Class() { return Type::IfcDistributionChamberElementType; } IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionCircuit bool IfcDistributionCircuit::is(Type::Enum v) const { return v == Type::IfcDistributionCircuit || IfcDistributionSystem::is(v); } Type::Enum IfcDistributionCircuit::type() const { return Type::IfcDistributionCircuit; } Type::Enum IfcDistributionCircuit::Class() { return Type::IfcDistributionCircuit; } IfcDistributionCircuit::IfcDistributionCircuit(IfcAbstractEntity* e) : IfcDistributionSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcDistributionSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcDistributionSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElement IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return entity->getInverse(Type::IfcRelFlowControlElements, 4)->as(); } @@ -9866,14 +9697,14 @@ bool IfcDistributionControlElement::is(Type::Enum v) const { return v == Type::I Type::Enum IfcDistributionControlElement::type() const { return Type::IfcDistributionControlElement; } Type::Enum IfcDistributionControlElement::Class() { return Type::IfcDistributionControlElement; } IfcDistributionControlElement::IfcDistributionControlElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElementType bool IfcDistributionControlElementType::is(Type::Enum v) const { return v == Type::IfcDistributionControlElementType || IfcDistributionElementType::is(v); } Type::Enum IfcDistributionControlElementType::type() const { return Type::IfcDistributionControlElementType; } Type::Enum IfcDistributionControlElementType::Class() { return Type::IfcDistributionControlElementType; } IfcDistributionControlElementType::IfcDistributionControlElementType(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElement IfcRelConnectsPortToElement::list::ptr IfcDistributionElement::HasPorts() const { return entity->getInverse(Type::IfcRelConnectsPortToElement, 5)->as(); } @@ -9881,14 +9712,14 @@ bool IfcDistributionElement::is(Type::Enum v) const { return v == Type::IfcDistr Type::Enum IfcDistributionElement::type() const { return Type::IfcDistributionElement; } Type::Enum IfcDistributionElement::Class() { return Type::IfcDistributionElement; } IfcDistributionElement::IfcDistributionElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElementType bool IfcDistributionElementType::is(Type::Enum v) const { return v == Type::IfcDistributionElementType || IfcElementType::is(v); } Type::Enum IfcDistributionElementType::type() const { return Type::IfcDistributionElementType; } Type::Enum IfcDistributionElementType::Class() { return Type::IfcDistributionElementType; } IfcDistributionElementType::IfcDistributionElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElement IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return entity->getInverse(Type::IfcRelFlowControlElements, 5)->as(); } @@ -9896,94 +9727,74 @@ bool IfcDistributionFlowElement::is(Type::Enum v) const { return v == Type::IfcD Type::Enum IfcDistributionFlowElement::type() const { return Type::IfcDistributionFlowElement; } Type::Enum IfcDistributionFlowElement::Class() { return Type::IfcDistributionFlowElement; } IfcDistributionFlowElement::IfcDistributionFlowElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElementType bool IfcDistributionFlowElementType::is(Type::Enum v) const { return v == Type::IfcDistributionFlowElementType || IfcDistributionElementType::is(v); } Type::Enum IfcDistributionFlowElementType::type() const { return Type::IfcDistributionFlowElementType; } Type::Enum IfcDistributionFlowElementType::Class() { return Type::IfcDistributionFlowElementType; } IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionPort -bool IfcDistributionPort::hasFlowDirection() const { return !entity->getArgument(7)->isNull(); } -IfcFlowDirectionEnum::IfcFlowDirectionEnum IfcDistributionPort::FlowDirection() const { return IfcFlowDirectionEnum::FromString(*entity->getArgument(7)); } -void IfcDistributionPort::setFlowDirection(IfcFlowDirectionEnum::IfcFlowDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcFlowDirectionEnum::ToString(v)); } -bool IfcDistributionPort::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum IfcDistributionPort::PredefinedType() const { return IfcDistributionPortTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDistributionPort::setPredefinedType(IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDistributionPortTypeEnum::ToString(v)); } -bool IfcDistributionPort::hasSystemType() const { return !entity->getArgument(9)->isNull(); } -IfcDistributionSystemEnum::IfcDistributionSystemEnum IfcDistributionPort::SystemType() const { return IfcDistributionSystemEnum::FromString(*entity->getArgument(9)); } -void IfcDistributionPort::setSystemType(IfcDistributionSystemEnum::IfcDistributionSystemEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDistributionSystemEnum::ToString(v)); } +boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > IfcDistributionPort::FlowDirection() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcFlowDirectionEnum::FromString(*arg); } } +void IfcDistributionPort::FlowDirection(boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcFlowDirectionEnum::ToString(*v));; } else { w->setArgument(7); } } +boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > IfcDistributionPort::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDistributionPortTypeEnum::FromString(*arg); } } +void IfcDistributionPort::PredefinedType(boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDistributionPortTypeEnum::ToString(*v));; } else { w->setArgument(8); } } +boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > IfcDistributionPort::SystemType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcDistributionSystemEnum::FromString(*arg); } } +void IfcDistributionPort::SystemType(boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcDistributionSystemEnum::ToString(*v));; } else { w->setArgument(9); } } bool IfcDistributionPort::is(Type::Enum v) const { return v == Type::IfcDistributionPort || IfcPort::is(v); } Type::Enum IfcDistributionPort::type() const { return Type::IfcDistributionPort; } Type::Enum IfcDistributionPort::Class() { return Type::IfcDistributionPort; } IfcDistributionPort::IfcDistributionPort(IfcAbstractEntity* e) : IfcPort((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_SystemType) { e->setArgument(9,*v10_SystemType,IfcDistributionSystemEnum::ToString(*v10_SystemType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_SystemType) { e->setArgument(9,*v10_SystemType,IfcDistributionSystemEnum::ToString(*v10_SystemType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionSystem -bool IfcDistributionSystem::hasLongName() const { return !entity->getArgument(5)->isNull(); } -std::string IfcDistributionSystem::LongName() const { return *entity->getArgument(5); } -void IfcDistributionSystem::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDistributionSystem::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcDistributionSystemEnum::IfcDistributionSystemEnum IfcDistributionSystem::PredefinedType() const { return IfcDistributionSystemEnum::FromString(*entity->getArgument(6)); } -void IfcDistributionSystem::setPredefinedType(IfcDistributionSystemEnum::IfcDistributionSystemEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcDistributionSystemEnum::ToString(v)); } +boost::optional< std::string > IfcDistributionSystem::LongName() const { return *entity->getArgument(5); } +void IfcDistributionSystem::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > IfcDistributionSystem::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcDistributionSystemEnum::FromString(*arg); } } +void IfcDistributionSystem::PredefinedType(boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcDistributionSystemEnum::ToString(*v));; } else { w->setArgument(6); } } bool IfcDistributionSystem::is(Type::Enum v) const { return v == Type::IfcDistributionSystem || IfcSystem::is(v); } Type::Enum IfcDistributionSystem::type() const { return Type::IfcDistributionSystem; } Type::Enum IfcDistributionSystem::Class() { return Type::IfcDistributionSystem; } IfcDistributionSystem::IfcDistributionSystem(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformation std::string IfcDocumentInformation::Identification() const { return *entity->getArgument(0); } -void IfcDocumentInformation::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcDocumentInformation::Identification(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcDocumentInformation::Name() const { return *entity->getArgument(1); } -void IfcDocumentInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcDocumentInformation::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcDocumentInformation::Description() const { return *entity->getArgument(2); } -void IfcDocumentInformation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcDocumentInformation::hasLocation() const { return !entity->getArgument(3)->isNull(); } -std::string IfcDocumentInformation::Location() const { return *entity->getArgument(3); } -void IfcDocumentInformation::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcDocumentInformation::hasPurpose() const { return !entity->getArgument(4)->isNull(); } -std::string IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } -void IfcDocumentInformation::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDocumentInformation::hasIntendedUse() const { return !entity->getArgument(5)->isNull(); } -std::string IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } -void IfcDocumentInformation::setIntendedUse(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDocumentInformation::hasScope() const { return !entity->getArgument(6)->isNull(); } -std::string IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } -void IfcDocumentInformation::setScope(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDocumentInformation::hasRevision() const { return !entity->getArgument(7)->isNull(); } -std::string IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } -void IfcDocumentInformation::setRevision(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDocumentInformation::hasDocumentOwner() const { return !entity->getArgument(8)->isNull(); } -IfcActorSelect* IfcDocumentInformation::DocumentOwner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcDocumentInformation::setDocumentOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDocumentInformation::hasEditors() const { return !entity->getArgument(9)->isNull(); } -IfcEntityList::ptr IfcDocumentInformation::Editors() const { return *entity->getArgument(9); } -void IfcDocumentInformation::setEditors(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDocumentInformation::hasCreationTime() const { return !entity->getArgument(10)->isNull(); } -std::string IfcDocumentInformation::CreationTime() const { return *entity->getArgument(10); } -void IfcDocumentInformation::setCreationTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDocumentInformation::hasLastRevisionTime() const { return !entity->getArgument(11)->isNull(); } -std::string IfcDocumentInformation::LastRevisionTime() const { return *entity->getArgument(11); } -void IfcDocumentInformation::setLastRevisionTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDocumentInformation::hasElectronicFormat() const { return !entity->getArgument(12)->isNull(); } -std::string IfcDocumentInformation::ElectronicFormat() const { return *entity->getArgument(12); } -void IfcDocumentInformation::setElectronicFormat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDocumentInformation::hasValidFrom() const { return !entity->getArgument(13)->isNull(); } -std::string IfcDocumentInformation::ValidFrom() const { return *entity->getArgument(13); } -void IfcDocumentInformation::setValidFrom(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDocumentInformation::hasValidUntil() const { return !entity->getArgument(14)->isNull(); } -std::string IfcDocumentInformation::ValidUntil() const { return *entity->getArgument(14); } -void IfcDocumentInformation::setValidUntil(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcDocumentInformation::hasConfidentiality() const { return !entity->getArgument(15)->isNull(); } -IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum IfcDocumentInformation::Confidentiality() const { return IfcDocumentConfidentialityEnum::FromString(*entity->getArgument(15)); } -void IfcDocumentInformation::setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v,IfcDocumentConfidentialityEnum::ToString(v)); } -bool IfcDocumentInformation::hasStatus() const { return !entity->getArgument(16)->isNull(); } -IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentInformation::Status() const { return IfcDocumentStatusEnum::FromString(*entity->getArgument(16)); } -void IfcDocumentInformation::setStatus(IfcDocumentStatusEnum::IfcDocumentStatusEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v,IfcDocumentStatusEnum::ToString(v)); } +void IfcDocumentInformation::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcDocumentInformation::Description() const { return *entity->getArgument(2); } +void IfcDocumentInformation::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcDocumentInformation::Location() const { return *entity->getArgument(3); } +void IfcDocumentInformation::Location(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } +void IfcDocumentInformation::Purpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } +void IfcDocumentInformation::IntendedUse(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } +void IfcDocumentInformation::Scope(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } +void IfcDocumentInformation::Revision(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcActorSelect* > IfcDocumentInformation::DocumentOwner() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentInformation::DocumentOwner(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcEntityList::ptr > IfcDocumentInformation::Editors() const { return *entity->getArgument(9); } +void IfcDocumentInformation::Editors(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcDocumentInformation::CreationTime() const { return *entity->getArgument(10); } +void IfcDocumentInformation::CreationTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< std::string > IfcDocumentInformation::LastRevisionTime() const { return *entity->getArgument(11); } +void IfcDocumentInformation::LastRevisionTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcDocumentInformation::ElectronicFormat() const { return *entity->getArgument(12); } +void IfcDocumentInformation::ElectronicFormat(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< std::string > IfcDocumentInformation::ValidFrom() const { return *entity->getArgument(13); } +void IfcDocumentInformation::ValidFrom(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< std::string > IfcDocumentInformation::ValidUntil() const { return *entity->getArgument(14); } +void IfcDocumentInformation::ValidUntil(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > IfcDocumentInformation::Confidentiality() const { Argument* arg = entity->getArgument(15); if (arg->isNull()) { return boost::none; } else { return IfcDocumentConfidentialityEnum::FromString(*arg); } } +void IfcDocumentInformation::Confidentiality(boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v,IfcDocumentConfidentialityEnum::ToString(*v));; } else { w->setArgument(15); } } +boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > IfcDocumentInformation::Status() const { Argument* arg = entity->getArgument(16); if (arg->isNull()) { return boost::none; } else { return IfcDocumentStatusEnum::FromString(*arg); } } +void IfcDocumentInformation::Status(boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v,IfcDocumentStatusEnum::ToString(*v));; } else { w->setArgument(16); } } IfcRelAssociatesDocument::list::ptr IfcDocumentInformation::DocumentInfoForObjects() const { return entity->getInverse(Type::IfcRelAssociatesDocument, 5)->as(); } IfcDocumentReference::list::ptr IfcDocumentInformation::HasDocumentReferences() const { return entity->getInverse(Type::IfcDocumentReference, 4)->as(); } IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return entity->getInverse(Type::IfcDocumentInformationRelationship, 3)->as(); } @@ -9992,16 +9803,15 @@ bool IfcDocumentInformation::is(Type::Enum v) const { return v == Type::IfcDocum Type::Enum IfcDocumentInformation::type() const { return Type::IfcDocumentInformation; } Type::Enum IfcDocumentInformation::Class() { return Type::IfcDocumentInformation; } IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Identification)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Location) { e->setArgument(3,(*v4_Location)); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } e->setArgument(8,(v9_DocumentOwner)); if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +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, boost::optional< IfcActorSelect* > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Identification)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Location) { e->setArgument(3,(*v4_Location)); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformationRelationship IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcDocumentInformationRelationship::setRelatingDocument(IfcDocumentInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcDocumentInformationRelationship::RelatingDocument(IfcDocumentInformation* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcDocumentInformation >::ptr IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcDocumentInformationRelationship::hasRelationshipType() const { return !entity->getArgument(4)->isNull(); } -std::string IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(4); } -void IfcDocumentInformationRelationship::setRelationshipType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcDocumentInformationRelationship::RelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } +boost::optional< std::string > IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(4); } +void IfcDocumentInformationRelationship::RelationshipType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcDocumentInformationRelationship::type() const { return Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::Class() { return Type::IfcDocumentInformationRelationship; } @@ -10009,145 +9819,120 @@ IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstra IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDocument)); e->setArgument(3,(v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) { e->setArgument(4,(*v5_RelationshipType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentReference -bool IfcDocumentReference::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcDocumentReference::Description() const { return *entity->getArgument(3); } -void IfcDocumentReference::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcDocumentReference::hasReferencedDocument() const { return !entity->getArgument(4)->isNull(); } -IfcDocumentInformation* IfcDocumentReference::ReferencedDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcDocumentReference::setReferencedDocument(IfcDocumentInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcDocumentReference::Description() const { return *entity->getArgument(3); } +void IfcDocumentReference::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcDocumentInformation* > IfcDocumentReference::ReferencedDocument() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDocumentReference::ReferencedDocument(boost::optional< IfcDocumentInformation* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcRelAssociatesDocument::list::ptr IfcDocumentReference::DocumentRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesDocument, 5)->as(); } bool IfcDocumentReference::is(Type::Enum v) const { return v == Type::IfcDocumentReference || IfcExternalReference::is(v); } Type::Enum IfcDocumentReference::type() const { return Type::IfcDocumentReference; } Type::Enum IfcDocumentReference::Class() { return Type::IfcDocumentReference; } IfcDocumentReference::IfcDocumentReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ReferencedDocument)); entity = e; EntityBuffer::Add(this); } +IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcDocumentInformation* > v5_ReferencedDocument) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ReferencedDocument) { e->setArgument(4,(*v5_ReferencedDocument)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoor -bool IfcDoor::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -double IfcDoor::OverallHeight() const { return *entity->getArgument(8); } -void IfcDoor::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoor::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -double IfcDoor::OverallWidth() const { return *entity->getArgument(9); } -void IfcDoor::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDoor::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcDoorTypeEnum::IfcDoorTypeEnum IfcDoor::PredefinedType() const { return IfcDoorTypeEnum::FromString(*entity->getArgument(10)); } -void IfcDoor::setPredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcDoorTypeEnum::ToString(v)); } -bool IfcDoor::hasOperationType() const { return !entity->getArgument(11)->isNull(); } -IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum IfcDoor::OperationType() const { return IfcDoorTypeOperationEnum::FromString(*entity->getArgument(11)); } -void IfcDoor::setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcDoorTypeOperationEnum::ToString(v)); } -bool IfcDoor::hasUserDefinedOperationType() const { return !entity->getArgument(12)->isNull(); } -std::string IfcDoor::UserDefinedOperationType() const { return *entity->getArgument(12); } -void IfcDoor::setUserDefinedOperationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +boost::optional< double > IfcDoor::OverallHeight() const { return *entity->getArgument(8); } +void IfcDoor::OverallHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcDoor::OverallWidth() const { return *entity->getArgument(9); } +void IfcDoor::OverallWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > IfcDoor::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcDoorTypeEnum::FromString(*arg); } } +void IfcDoor::PredefinedType(boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcDoorTypeEnum::ToString(*v));; } else { w->setArgument(10); } } +boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > IfcDoor::OperationType() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return IfcDoorTypeOperationEnum::FromString(*arg); } } +void IfcDoor::OperationType(boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v,IfcDoorTypeOperationEnum::ToString(*v));; } else { w->setArgument(11); } } +boost::optional< std::string > IfcDoor::UserDefinedOperationType() const { return *entity->getArgument(12); } +void IfcDoor::UserDefinedOperationType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcDoor::is(Type::Enum v) const { return v == Type::IfcDoor || IfcBuildingElement::is(v); } Type::Enum IfcDoor::type() const { return Type::IfcDoor; } Type::Enum IfcDoor::Class() { return Type::IfcDoor; } IfcDoor::IfcDoor(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoor::IfcDoor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcDoor::IfcDoor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorLiningProperties -bool IfcDoorLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -double IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcDoorLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDoorLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -double IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcDoorLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDoorLiningProperties::hasThresholdDepth() const { return !entity->getArgument(6)->isNull(); } -double IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } -void IfcDoorLiningProperties::setThresholdDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDoorLiningProperties::hasThresholdThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } -void IfcDoorLiningProperties::setThresholdThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDoorLiningProperties::hasTransomThickness() const { return !entity->getArgument(8)->isNull(); } -double IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } -void IfcDoorLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoorLiningProperties::hasTransomOffset() const { return !entity->getArgument(9)->isNull(); } -double IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } -void IfcDoorLiningProperties::setTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDoorLiningProperties::hasLiningOffset() const { return !entity->getArgument(10)->isNull(); } -double IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } -void IfcDoorLiningProperties::setLiningOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDoorLiningProperties::hasThresholdOffset() const { return !entity->getArgument(11)->isNull(); } -double IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } -void IfcDoorLiningProperties::setThresholdOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDoorLiningProperties::hasCasingThickness() const { return !entity->getArgument(12)->isNull(); } -double IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } -void IfcDoorLiningProperties::setCasingThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDoorLiningProperties::hasCasingDepth() const { return !entity->getArgument(13)->isNull(); } -double IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } -void IfcDoorLiningProperties::setCasingDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDoorLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(14)->isNull(); } -IfcShapeAspect* IfcDoorLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } -void IfcDoorLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcDoorLiningProperties::hasLiningToPanelOffsetX() const { return !entity->getArgument(15)->isNull(); } -double IfcDoorLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(15); } -void IfcDoorLiningProperties::setLiningToPanelOffsetX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcDoorLiningProperties::hasLiningToPanelOffsetY() const { return !entity->getArgument(16)->isNull(); } -double IfcDoorLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(16); } -void IfcDoorLiningProperties::setLiningToPanelOffsetY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +boost::optional< double > IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcDoorLiningProperties::LiningDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcDoorLiningProperties::LiningThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } +void IfcDoorLiningProperties::ThresholdDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } +void IfcDoorLiningProperties::ThresholdThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } +void IfcDoorLiningProperties::TransomThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } +void IfcDoorLiningProperties::TransomOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } +void IfcDoorLiningProperties::LiningOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } +void IfcDoorLiningProperties::ThresholdOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } +void IfcDoorLiningProperties::CasingThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } +void IfcDoorLiningProperties::CasingDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< IfcShapeAspect* > IfcDoorLiningProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(14); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDoorLiningProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcDoorLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(15); } +void IfcDoorLiningProperties::LiningToPanelOffsetX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcDoorLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(16); } +void IfcDoorLiningProperties::LiningToPanelOffsetY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } bool IfcDoorLiningProperties::is(Type::Enum v) const { return v == Type::IfcDoorLiningProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcDoorLiningProperties::type() const { return Type::IfcDoorLiningProperties; } Type::Enum IfcDoorLiningProperties::Class() { return Type::IfcDoorLiningProperties; } IfcDoorLiningProperties::IfcDoorLiningProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) { e->setArgument(15,(*v16_LiningToPanelOffsetX)); } else { e->setArgument(15); } if (v17_LiningToPanelOffsetY) { e->setArgument(16,(*v17_LiningToPanelOffsetY)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, boost::optional< IfcShapeAspect* > v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } if (v15_ShapeAspectStyle) { e->setArgument(14,(*v15_ShapeAspectStyle)); } else { e->setArgument(14); } if (v16_LiningToPanelOffsetX) { e->setArgument(15,(*v16_LiningToPanelOffsetX)); } else { e->setArgument(15); } if (v17_LiningToPanelOffsetY) { e->setArgument(16,(*v17_LiningToPanelOffsetY)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorPanelProperties -bool IfcDoorPanelProperties::hasPanelDepth() const { return !entity->getArgument(4)->isNull(); } -double IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } -void IfcDoorPanelProperties::setPanelDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< double > IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } +void IfcDoorPanelProperties::PanelDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelProperties::PanelOperation() const { return IfcDoorPanelOperationEnum::FromString(*entity->getArgument(5)); } -void IfcDoorPanelProperties::setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDoorPanelOperationEnum::ToString(v)); } -bool IfcDoorPanelProperties::hasPanelWidth() const { return !entity->getArgument(6)->isNull(); } -double IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } -void IfcDoorPanelProperties::setPanelWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcDoorPanelProperties::PanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcDoorPanelOperationEnum::ToString(v));; } +boost::optional< double > IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } +void IfcDoorPanelProperties::PanelWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelProperties::PanelPosition() const { return IfcDoorPanelPositionEnum::FromString(*entity->getArgument(7)); } -void IfcDoorPanelProperties::setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcDoorPanelPositionEnum::ToString(v)); } -bool IfcDoorPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcDoorPanelProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcDoorPanelProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcDoorPanelProperties::PanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcDoorPanelPositionEnum::ToString(v));; } +boost::optional< IfcShapeAspect* > IfcDoorPanelProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcDoorPanelProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcDoorPanelProperties::is(Type::Enum v) const { return v == Type::IfcDoorPanelProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcDoorPanelProperties::type() const { return Type::IfcDoorPanelProperties; } Type::Enum IfcDoorPanelProperties::Class() { return Type::IfcDoorPanelProperties; } IfcDoorPanelProperties::IfcDoorPanelProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); if (v9_ShapeAspectStyle) { e->setArgument(8,(*v9_ShapeAspectStyle)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStandardCase bool IfcDoorStandardCase::is(Type::Enum v) const { return v == Type::IfcDoorStandardCase || IfcDoor::is(v); } Type::Enum IfcDoorStandardCase::type() const { return Type::IfcDoorStandardCase; } Type::Enum IfcDoorStandardCase::Class() { return Type::IfcDoorStandardCase; } IfcDoorStandardCase::IfcDoorStandardCase(IfcAbstractEntity* e) : IfcDoor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStyle IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyle::OperationType() const { return IfcDoorStyleOperationEnum::FromString(*entity->getArgument(8)); } -void IfcDoorStyle::setOperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDoorStyleOperationEnum::ToString(v)); } +void IfcDoorStyle::OperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcDoorStyleOperationEnum::ToString(v));; } IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum IfcDoorStyle::ConstructionType() const { return IfcDoorStyleConstructionEnum::FromString(*entity->getArgument(9)); } -void IfcDoorStyle::setConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDoorStyleConstructionEnum::ToString(v)); } +void IfcDoorStyle::ConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDoorStyleConstructionEnum::ToString(v));; } bool IfcDoorStyle::ParameterTakesPrecedence() const { return *entity->getArgument(10); } -void IfcDoorStyle::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcDoorStyle::ParameterTakesPrecedence(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcDoorStyle::Sizeable() const { return *entity->getArgument(11); } -void IfcDoorStyle::setSizeable(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcDoorStyle::Sizeable(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } bool IfcDoorStyle::is(Type::Enum v) const { return v == Type::IfcDoorStyle || IfcTypeProduct::is(v); } Type::Enum IfcDoorStyle::type() const { return Type::IfcDoorStyle; } Type::Enum IfcDoorStyle::Class() { return Type::IfcDoorStyle; } IfcDoorStyle::IfcDoorStyle(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } +IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorType IfcDoorTypeEnum::IfcDoorTypeEnum IfcDoorType::PredefinedType() const { return IfcDoorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDoorType::setPredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDoorTypeEnum::ToString(v)); } +void IfcDoorType::PredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDoorTypeEnum::ToString(v));; } IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum IfcDoorType::OperationType() const { return IfcDoorTypeOperationEnum::FromString(*entity->getArgument(10)); } -void IfcDoorType::setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcDoorTypeOperationEnum::ToString(v)); } -bool IfcDoorType::hasParameterTakesPrecedence() const { return !entity->getArgument(11)->isNull(); } -bool IfcDoorType::ParameterTakesPrecedence() const { return *entity->getArgument(11); } -void IfcDoorType::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDoorType::hasUserDefinedOperationType() const { return !entity->getArgument(12)->isNull(); } -std::string IfcDoorType::UserDefinedOperationType() const { return *entity->getArgument(12); } -void IfcDoorType::setUserDefinedOperationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcDoorType::OperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v,IfcDoorTypeOperationEnum::ToString(v));; } +boost::optional< bool > IfcDoorType::ParameterTakesPrecedence() const { return *entity->getArgument(11); } +void IfcDoorType::ParameterTakesPrecedence(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcDoorType::UserDefinedOperationType() const { return *entity->getArgument(12); } +void IfcDoorType::UserDefinedOperationType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcDoorType::is(Type::Enum v) const { return v == Type::IfcDoorType || IfcBuildingElementType::is(v); } Type::Enum IfcDoorType::type() const { return Type::IfcDoorType; } Type::Enum IfcDoorType::Class() { return Type::IfcDoorType; } IfcDoorType::IfcDoorType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorType::IfcDoorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDoorTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_OperationType,IfcDoorTypeOperationEnum::ToString(v11_OperationType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcDoorType::IfcDoorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDoorTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_OperationType,IfcDoorTypeOperationEnum::ToString(v11_OperationType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedColour bool IfcDraughtingPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedColour || IfcPreDefinedColour::is(v); } @@ -10164,67 +9949,64 @@ IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEn IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFitting -bool IfcDuctFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFitting::PredefinedType() const { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDuctFitting::setPredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDuctFittingTypeEnum::ToString(v)); } +boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > IfcDuctFitting::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDuctFittingTypeEnum::FromString(*arg); } } +void IfcDuctFitting::PredefinedType(boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDuctFittingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcDuctFitting::is(Type::Enum v) const { return v == Type::IfcDuctFitting || IfcFlowFitting::is(v); } Type::Enum IfcDuctFitting::type() const { return Type::IfcDuctFitting; } Type::Enum IfcDuctFitting::Class() { return Type::IfcDuctFitting; } IfcDuctFitting::IfcDuctFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFittingType IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingType::PredefinedType() const { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDuctFittingType::setPredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDuctFittingTypeEnum::ToString(v)); } +void IfcDuctFittingType::PredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDuctFittingTypeEnum::ToString(v));; } bool IfcDuctFittingType::is(Type::Enum v) const { return v == Type::IfcDuctFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcDuctFittingType::type() const { return Type::IfcDuctFittingType; } Type::Enum IfcDuctFittingType::Class() { return Type::IfcDuctFittingType; } IfcDuctFittingType::IfcDuctFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegment -bool IfcDuctSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegment::PredefinedType() const { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDuctSegment::setPredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDuctSegmentTypeEnum::ToString(v)); } +boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > IfcDuctSegment::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDuctSegmentTypeEnum::FromString(*arg); } } +void IfcDuctSegment::PredefinedType(boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDuctSegmentTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcDuctSegment::is(Type::Enum v) const { return v == Type::IfcDuctSegment || IfcFlowSegment::is(v); } Type::Enum IfcDuctSegment::type() const { return Type::IfcDuctSegment; } Type::Enum IfcDuctSegment::Class() { return Type::IfcDuctSegment; } IfcDuctSegment::IfcDuctSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegmentType IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentType::PredefinedType() const { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDuctSegmentType::setPredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDuctSegmentTypeEnum::ToString(v)); } +void IfcDuctSegmentType::PredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDuctSegmentTypeEnum::ToString(v));; } bool IfcDuctSegmentType::is(Type::Enum v) const { return v == Type::IfcDuctSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcDuctSegmentType::type() const { return Type::IfcDuctSegmentType; } Type::Enum IfcDuctSegmentType::Class() { return Type::IfcDuctSegmentType; } IfcDuctSegmentType::IfcDuctSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencer -bool IfcDuctSilencer::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencer::PredefinedType() const { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcDuctSilencer::setPredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcDuctSilencerTypeEnum::ToString(v)); } +boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > IfcDuctSilencer::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcDuctSilencerTypeEnum::FromString(*arg); } } +void IfcDuctSilencer::PredefinedType(boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcDuctSilencerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcDuctSilencer::is(Type::Enum v) const { return v == Type::IfcDuctSilencer || IfcFlowTreatmentDevice::is(v); } Type::Enum IfcDuctSilencer::type() const { return Type::IfcDuctSilencer; } Type::Enum IfcDuctSilencer::Class() { return Type::IfcDuctSilencer; } IfcDuctSilencer::IfcDuctSilencer(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSilencerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSilencerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencerType IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerType::PredefinedType() const { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcDuctSilencerType::setPredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcDuctSilencerTypeEnum::ToString(v)); } +void IfcDuctSilencerType::PredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcDuctSilencerTypeEnum::ToString(v));; } bool IfcDuctSilencerType::is(Type::Enum v) const { return v == Type::IfcDuctSilencerType || IfcFlowTreatmentDeviceType::is(v); } Type::Enum IfcDuctSilencerType::type() const { return Type::IfcDuctSilencerType; } Type::Enum IfcDuctSilencerType::Class() { return Type::IfcDuctSilencerType; } IfcDuctSilencerType::IfcDuctSilencerType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdge IfcVertex* IfcEdge::EdgeStart() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcEdge::setEdgeStart(IfcVertex* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcEdge::EdgeStart(IfcVertex* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcVertex* IfcEdge::EdgeEnd() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcEdge::setEdgeEnd(IfcVertex* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcEdge::EdgeEnd(IfcVertex* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcEdge::is(Type::Enum v) const { return v == Type::IfcEdge || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcEdge::type() const { return Type::IfcEdge; } Type::Enum IfcEdge::Class() { return Type::IfcEdge; } @@ -10233,9 +10015,9 @@ IfcEdge::IfcEdge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd) : IfcTopologica // Function implementations for IfcEdgeCurve IfcCurve* IfcEdgeCurve::EdgeGeometry() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcEdgeCurve::setEdgeGeometry(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcEdgeCurve::EdgeGeometry(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcEdgeCurve::SameSense() const { return *entity->getArgument(3); } -void IfcEdgeCurve::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcEdgeCurve::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcEdgeCurve::is(Type::Enum v) const { return v == Type::IfcEdgeCurve || IfcEdge::is(v); } Type::Enum IfcEdgeCurve::type() const { return Type::IfcEdgeCurve; } Type::Enum IfcEdgeCurve::Class() { return Type::IfcEdgeCurve; } @@ -10244,7 +10026,7 @@ IfcEdgeCurve::IfcEdgeCurve(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCu // Function implementations for IfcEdgeLoop IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcEdgeLoop::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcEdgeLoop::setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcEdgeLoop::EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcEdgeLoop::is(Type::Enum v) const { return v == Type::IfcEdgeLoop || IfcLoop::is(v); } Type::Enum IfcEdgeLoop::type() const { return Type::IfcEdgeLoop; } Type::Enum IfcEdgeLoop::Class() { return Type::IfcEdgeLoop; } @@ -10252,123 +10034,116 @@ IfcEdgeLoop::IfcEdgeLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) IfcEdgeLoop::IfcEdgeLoop(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricAppliance -bool IfcElectricAppliance::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricAppliance::PredefinedType() const { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcElectricAppliance::setPredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricApplianceTypeEnum::ToString(v)); } +boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > IfcElectricAppliance::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElectricApplianceTypeEnum::FromString(*arg); } } +void IfcElectricAppliance::PredefinedType(boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElectricApplianceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcElectricAppliance::is(Type::Enum v) const { return v == Type::IfcElectricAppliance || IfcFlowTerminal::is(v); } Type::Enum IfcElectricAppliance::type() const { return Type::IfcElectricAppliance; } Type::Enum IfcElectricAppliance::Class() { return Type::IfcElectricAppliance; } IfcElectricAppliance::IfcElectricAppliance(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricApplianceType IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricApplianceType::PredefinedType() const { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricApplianceType::setPredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricApplianceTypeEnum::ToString(v)); } +void IfcElectricApplianceType::PredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricApplianceTypeEnum::ToString(v));; } bool IfcElectricApplianceType::is(Type::Enum v) const { return v == Type::IfcElectricApplianceType || IfcFlowTerminalType::is(v); } Type::Enum IfcElectricApplianceType::type() const { return Type::IfcElectricApplianceType; } Type::Enum IfcElectricApplianceType::Class() { return Type::IfcElectricApplianceType; } IfcElectricApplianceType::IfcElectricApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionBoard -bool IfcElectricDistributionBoard::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum IfcElectricDistributionBoard::PredefinedType() const { return IfcElectricDistributionBoardTypeEnum::FromString(*entity->getArgument(8)); } -void IfcElectricDistributionBoard::setPredefinedType(IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricDistributionBoardTypeEnum::ToString(v)); } +boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > IfcElectricDistributionBoard::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElectricDistributionBoardTypeEnum::FromString(*arg); } } +void IfcElectricDistributionBoard::PredefinedType(boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElectricDistributionBoardTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcElectricDistributionBoard::is(Type::Enum v) const { return v == Type::IfcElectricDistributionBoard || IfcFlowController::is(v); } Type::Enum IfcElectricDistributionBoard::type() const { return Type::IfcElectricDistributionBoard; } Type::Enum IfcElectricDistributionBoard::Class() { return Type::IfcElectricDistributionBoard; } IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionBoardType IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum IfcElectricDistributionBoardType::PredefinedType() const { return IfcElectricDistributionBoardTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricDistributionBoardType::setPredefinedType(IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricDistributionBoardTypeEnum::ToString(v)); } +void IfcElectricDistributionBoardType::PredefinedType(IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricDistributionBoardTypeEnum::ToString(v));; } bool IfcElectricDistributionBoardType::is(Type::Enum v) const { return v == Type::IfcElectricDistributionBoardType || IfcFlowControllerType::is(v); } Type::Enum IfcElectricDistributionBoardType::type() const { return Type::IfcElectricDistributionBoardType; } Type::Enum IfcElectricDistributionBoardType::Class() { return Type::IfcElectricDistributionBoardType; } IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoardType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDevice -bool IfcElectricFlowStorageDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDevice::PredefinedType() const { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcElectricFlowStorageDevice::setPredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricFlowStorageDeviceTypeEnum::ToString(v)); } +boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > IfcElectricFlowStorageDevice::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*arg); } } +void IfcElectricFlowStorageDevice::PredefinedType(boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElectricFlowStorageDeviceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcElectricFlowStorageDevice::is(Type::Enum v) const { return v == Type::IfcElectricFlowStorageDevice || IfcFlowStorageDevice::is(v); } Type::Enum IfcElectricFlowStorageDevice::type() const { return Type::IfcElectricFlowStorageDevice; } Type::Enum IfcElectricFlowStorageDevice::Class() { return Type::IfcElectricFlowStorageDevice; } IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcAbstractEntity* e) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDeviceType IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceType::PredefinedType() const { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricFlowStorageDeviceType::setPredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricFlowStorageDeviceTypeEnum::ToString(v)); } +void IfcElectricFlowStorageDeviceType::PredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricFlowStorageDeviceTypeEnum::ToString(v));; } bool IfcElectricFlowStorageDeviceType::is(Type::Enum v) const { return v == Type::IfcElectricFlowStorageDeviceType || IfcFlowStorageDeviceType::is(v); } Type::Enum IfcElectricFlowStorageDeviceType::type() const { return Type::IfcElectricFlowStorageDeviceType; } Type::Enum IfcElectricFlowStorageDeviceType::Class() { return Type::IfcElectricFlowStorageDeviceType; } IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGenerator -bool IfcElectricGenerator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGenerator::PredefinedType() const { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcElectricGenerator::setPredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricGeneratorTypeEnum::ToString(v)); } +boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > IfcElectricGenerator::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElectricGeneratorTypeEnum::FromString(*arg); } } +void IfcElectricGenerator::PredefinedType(boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElectricGeneratorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcElectricGenerator::is(Type::Enum v) const { return v == Type::IfcElectricGenerator || IfcEnergyConversionDevice::is(v); } Type::Enum IfcElectricGenerator::type() const { return Type::IfcElectricGenerator; } Type::Enum IfcElectricGenerator::Class() { return Type::IfcElectricGenerator; } IfcElectricGenerator::IfcElectricGenerator(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGeneratorType IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorType::PredefinedType() const { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricGeneratorType::setPredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricGeneratorTypeEnum::ToString(v)); } +void IfcElectricGeneratorType::PredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricGeneratorTypeEnum::ToString(v));; } bool IfcElectricGeneratorType::is(Type::Enum v) const { return v == Type::IfcElectricGeneratorType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcElectricGeneratorType::type() const { return Type::IfcElectricGeneratorType; } Type::Enum IfcElectricGeneratorType::Class() { return Type::IfcElectricGeneratorType; } IfcElectricGeneratorType::IfcElectricGeneratorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotor -bool IfcElectricMotor::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotor::PredefinedType() const { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcElectricMotor::setPredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricMotorTypeEnum::ToString(v)); } +boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > IfcElectricMotor::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElectricMotorTypeEnum::FromString(*arg); } } +void IfcElectricMotor::PredefinedType(boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElectricMotorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcElectricMotor::is(Type::Enum v) const { return v == Type::IfcElectricMotor || IfcEnergyConversionDevice::is(v); } Type::Enum IfcElectricMotor::type() const { return Type::IfcElectricMotor; } Type::Enum IfcElectricMotor::Class() { return Type::IfcElectricMotor; } IfcElectricMotor::IfcElectricMotor(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricMotorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricMotorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotorType IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorType::PredefinedType() const { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricMotorType::setPredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricMotorTypeEnum::ToString(v)); } +void IfcElectricMotorType::PredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricMotorTypeEnum::ToString(v));; } bool IfcElectricMotorType::is(Type::Enum v) const { return v == Type::IfcElectricMotorType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcElectricMotorType::type() const { return Type::IfcElectricMotorType; } Type::Enum IfcElectricMotorType::Class() { return Type::IfcElectricMotorType; } IfcElectricMotorType::IfcElectricMotorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControl -bool IfcElectricTimeControl::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControl::PredefinedType() const { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(8)); } -void IfcElectricTimeControl::setPredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricTimeControlTypeEnum::ToString(v)); } +boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > IfcElectricTimeControl::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElectricTimeControlTypeEnum::FromString(*arg); } } +void IfcElectricTimeControl::PredefinedType(boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElectricTimeControlTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcElectricTimeControl::is(Type::Enum v) const { return v == Type::IfcElectricTimeControl || IfcFlowController::is(v); } Type::Enum IfcElectricTimeControl::type() const { return Type::IfcElectricTimeControl; } Type::Enum IfcElectricTimeControl::Class() { return Type::IfcElectricTimeControl; } IfcElectricTimeControl::IfcElectricTimeControl(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControlType IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlType::PredefinedType() const { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElectricTimeControlType::setPredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElectricTimeControlTypeEnum::ToString(v)); } +void IfcElectricTimeControlType::PredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElectricTimeControlTypeEnum::ToString(v));; } bool IfcElectricTimeControlType::is(Type::Enum v) const { return v == Type::IfcElectricTimeControlType || IfcFlowControllerType::is(v); } Type::Enum IfcElectricTimeControlType::type() const { return Type::IfcElectricTimeControlType; } Type::Enum IfcElectricTimeControlType::Class() { return Type::IfcElectricTimeControlType; } IfcElectricTimeControlType::IfcElectricTimeControlType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElement -bool IfcElement::hasTag() const { return !entity->getArgument(7)->isNull(); } -std::string IfcElement::Tag() const { return *entity->getArgument(7); } -void IfcElement::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< std::string > IfcElement::Tag() const { return *entity->getArgument(7); } +void IfcElement::Tag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return entity->getInverse(Type::IfcRelFillsElement, 5)->as(); } IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsElements, 5)->as(); } IfcRelInterferesElements::list::ptr IfcElement::IsInterferedByElements() const { return entity->getInverse(Type::IfcRelInterferesElements, 5)->as(); } @@ -10384,69 +10159,65 @@ bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcPro Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } IfcElement::IfcElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElement::IfcElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElement::IfcElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssembly -bool IfcElementAssembly::hasAssemblyPlace() const { return !entity->getArgument(8)->isNull(); } -IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcElementAssembly::AssemblyPlace() const { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(8)); } -void IfcElementAssembly::setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcAssemblyPlaceEnum::ToString(v)); } -bool IfcElementAssembly::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } -IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssembly::PredefinedType() const { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElementAssembly::setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElementAssemblyTypeEnum::ToString(v)); } +boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > IfcElementAssembly::AssemblyPlace() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcAssemblyPlaceEnum::FromString(*arg); } } +void IfcElementAssembly::AssemblyPlace(boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcAssemblyPlaceEnum::ToString(*v));; } else { w->setArgument(8); } } +boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > IfcElementAssembly::PredefinedType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcElementAssemblyTypeEnum::FromString(*arg); } } +void IfcElementAssembly::PredefinedType(boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcElementAssemblyTypeEnum::ToString(*v));; } else { w->setArgument(9); } } bool IfcElementAssembly::is(Type::Enum v) const { return v == Type::IfcElementAssembly || IfcElement::is(v); } Type::Enum IfcElementAssembly::type() const { return Type::IfcElementAssembly; } Type::Enum IfcElementAssembly::Class() { return Type::IfcElementAssembly; } IfcElementAssembly::IfcElementAssembly(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssemblyType IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssemblyType::PredefinedType() const { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } -void IfcElementAssemblyType::setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcElementAssemblyTypeEnum::ToString(v)); } +void IfcElementAssemblyType::PredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcElementAssemblyTypeEnum::ToString(v));; } bool IfcElementAssemblyType::is(Type::Enum v) const { return v == Type::IfcElementAssemblyType || IfcElementType::is(v); } Type::Enum IfcElementAssemblyType::type() const { return Type::IfcElementAssemblyType; } Type::Enum IfcElementAssemblyType::Class() { return Type::IfcElementAssemblyType; } IfcElementAssemblyType::IfcElementAssemblyType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssemblyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponent bool IfcElementComponent::is(Type::Enum v) const { return v == Type::IfcElementComponent || IfcElement::is(v); } Type::Enum IfcElementComponent::type() const { return Type::IfcElementComponent; } Type::Enum IfcElementComponent::Class() { return Type::IfcElementComponent; } IfcElementComponent::IfcElementComponent(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponentType bool IfcElementComponentType::is(Type::Enum v) const { return v == Type::IfcElementComponentType || IfcElementType::is(v); } Type::Enum IfcElementComponentType::type() const { return Type::IfcElementComponentType; } Type::Enum IfcElementComponentType::Class() { return Type::IfcElementComponentType; } IfcElementComponentType::IfcElementComponentType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementQuantity -bool IfcElementQuantity::hasMethodOfMeasurement() const { return !entity->getArgument(4)->isNull(); } -std::string IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } -void IfcElementQuantity::setMethodOfMeasurement(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } +void IfcElementQuantity::MethodOfMeasurement(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcElementQuantity::setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcElementQuantity::Quantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcElementQuantity::is(Type::Enum v) const { return v == Type::IfcElementQuantity || IfcQuantitySet::is(v); } Type::Enum IfcElementQuantity::type() const { return Type::IfcElementQuantity; } Type::Enum IfcElementQuantity::Class() { return Type::IfcElementQuantity; } IfcElementQuantity::IfcElementQuantity(IfcAbstractEntity* e) : IfcQuantitySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementType -bool IfcElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcElementType::ElementType() const { return *entity->getArgument(8); } -void IfcElementType::setElementType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcElementType::ElementType() const { return *entity->getArgument(8); } +void IfcElementType::ElementType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcElementType::is(Type::Enum v) const { return v == Type::IfcElementType || IfcTypeProduct::is(v); } Type::Enum IfcElementType::type() const { return Type::IfcElementType; } Type::Enum IfcElementType::Class() { return Type::IfcElementType; } IfcElementType::IfcElementType(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementType::IfcElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElementType::IfcElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementarySurface IfcAxis2Placement3D* IfcElementarySurface::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcElementarySurface::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcElementarySurface::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcElementarySurface::is(Type::Enum v) const { return v == Type::IfcElementarySurface || IfcSurface::is(v); } Type::Enum IfcElementarySurface::type() const { return Type::IfcElementarySurface; } Type::Enum IfcElementarySurface::Class() { return Type::IfcElementarySurface; } @@ -10455,9 +10226,9 @@ IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : I // Function implementations for IfcEllipse double IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } -void IfcEllipse::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcEllipse::SemiAxis1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } -void IfcEllipse::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcEllipse::SemiAxis2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcEllipse::is(Type::Enum v) const { return v == Type::IfcEllipse || IfcConic::is(v); } Type::Enum IfcEllipse::type() const { return Type::IfcEllipse; } Type::Enum IfcEllipse::Class() { return Type::IfcEllipse; } @@ -10466,118 +10237,107 @@ IfcEllipse::IfcEllipse(IfcAxis2Placement* v1_Position, double v2_SemiAxis1, doub // Function implementations for IfcEllipseProfileDef double IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } -void IfcEllipseProfileDef::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcEllipseProfileDef::SemiAxis1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } -void IfcEllipseProfileDef::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcEllipseProfileDef::SemiAxis2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcEllipseProfileDef::is(Type::Enum v) const { return v == Type::IfcEllipseProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcEllipseProfileDef::type() const { return Type::IfcEllipseProfileDef; } Type::Enum IfcEllipseProfileDef::Class() { return Type::IfcEllipseProfileDef; } IfcEllipseProfileDef::IfcEllipseProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDevice bool IfcEnergyConversionDevice::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcEnergyConversionDevice::type() const { return Type::IfcEnergyConversionDevice; } Type::Enum IfcEnergyConversionDevice::Class() { return Type::IfcEnergyConversionDevice; } IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDeviceType bool IfcEnergyConversionDeviceType::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcEnergyConversionDeviceType::type() const { return Type::IfcEnergyConversionDeviceType; } Type::Enum IfcEnergyConversionDeviceType::Class() { return Type::IfcEnergyConversionDeviceType; } IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEngine -bool IfcEngine::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcEngineTypeEnum::IfcEngineTypeEnum IfcEngine::PredefinedType() const { return IfcEngineTypeEnum::FromString(*entity->getArgument(8)); } -void IfcEngine::setPredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcEngineTypeEnum::ToString(v)); } +boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > IfcEngine::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcEngineTypeEnum::FromString(*arg); } } +void IfcEngine::PredefinedType(boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcEngineTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcEngine::is(Type::Enum v) const { return v == Type::IfcEngine || IfcEnergyConversionDevice::is(v); } Type::Enum IfcEngine::type() const { return Type::IfcEngine; } Type::Enum IfcEngine::Class() { return Type::IfcEngine; } IfcEngine::IfcEngine(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEngine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEngine::IfcEngine(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEngineTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEngine::IfcEngine(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEngineTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEngineType IfcEngineTypeEnum::IfcEngineTypeEnum IfcEngineType::PredefinedType() const { return IfcEngineTypeEnum::FromString(*entity->getArgument(9)); } -void IfcEngineType::setPredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcEngineTypeEnum::ToString(v)); } +void IfcEngineType::PredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcEngineTypeEnum::ToString(v));; } bool IfcEngineType::is(Type::Enum v) const { return v == Type::IfcEngineType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcEngineType::type() const { return Type::IfcEngineType; } Type::Enum IfcEngineType::Class() { return Type::IfcEngineType; } IfcEngineType::IfcEngineType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEngineType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEngineType::IfcEngineType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEngineTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEngineType::IfcEngineType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEngineTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCooler -bool IfcEvaporativeCooler::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCooler::PredefinedType() const { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcEvaporativeCooler::setPredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcEvaporativeCoolerTypeEnum::ToString(v)); } +boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > IfcEvaporativeCooler::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcEvaporativeCoolerTypeEnum::FromString(*arg); } } +void IfcEvaporativeCooler::PredefinedType(boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcEvaporativeCoolerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcEvaporativeCooler::is(Type::Enum v) const { return v == Type::IfcEvaporativeCooler || IfcEnergyConversionDevice::is(v); } Type::Enum IfcEvaporativeCooler::type() const { return Type::IfcEvaporativeCooler; } Type::Enum IfcEvaporativeCooler::Class() { return Type::IfcEvaporativeCooler; } IfcEvaporativeCooler::IfcEvaporativeCooler(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCooler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCoolerType IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerType::PredefinedType() const { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcEvaporativeCoolerType::setPredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcEvaporativeCoolerTypeEnum::ToString(v)); } +void IfcEvaporativeCoolerType::PredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcEvaporativeCoolerTypeEnum::ToString(v));; } bool IfcEvaporativeCoolerType::is(Type::Enum v) const { return v == Type::IfcEvaporativeCoolerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcEvaporativeCoolerType::type() const { return Type::IfcEvaporativeCoolerType; } Type::Enum IfcEvaporativeCoolerType::Class() { return Type::IfcEvaporativeCoolerType; } IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporator -bool IfcEvaporator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporator::PredefinedType() const { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcEvaporator::setPredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcEvaporatorTypeEnum::ToString(v)); } +boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > IfcEvaporator::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcEvaporatorTypeEnum::FromString(*arg); } } +void IfcEvaporator::PredefinedType(boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcEvaporatorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcEvaporator::is(Type::Enum v) const { return v == Type::IfcEvaporator || IfcEnergyConversionDevice::is(v); } Type::Enum IfcEvaporator::type() const { return Type::IfcEvaporator; } Type::Enum IfcEvaporator::Class() { return Type::IfcEvaporator; } IfcEvaporator::IfcEvaporator(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporatorType IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorType::PredefinedType() const { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcEvaporatorType::setPredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcEvaporatorTypeEnum::ToString(v)); } +void IfcEvaporatorType::PredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcEvaporatorTypeEnum::ToString(v));; } bool IfcEvaporatorType::is(Type::Enum v) const { return v == Type::IfcEvaporatorType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcEvaporatorType::type() const { return Type::IfcEvaporatorType; } Type::Enum IfcEvaporatorType::Class() { return Type::IfcEvaporatorType; } IfcEvaporatorType::IfcEvaporatorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvent -bool IfcEvent::hasPredefinedType() const { return !entity->getArgument(7)->isNull(); } -IfcEventTypeEnum::IfcEventTypeEnum IfcEvent::PredefinedType() const { return IfcEventTypeEnum::FromString(*entity->getArgument(7)); } -void IfcEvent::setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcEventTypeEnum::ToString(v)); } -bool IfcEvent::hasEventTriggerType() const { return !entity->getArgument(8)->isNull(); } -IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum IfcEvent::EventTriggerType() const { return IfcEventTriggerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcEvent::setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcEventTriggerTypeEnum::ToString(v)); } -bool IfcEvent::hasUserDefinedEventTriggerType() const { return !entity->getArgument(9)->isNull(); } -std::string IfcEvent::UserDefinedEventTriggerType() const { return *entity->getArgument(9); } -void IfcEvent::setUserDefinedEventTriggerType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcEvent::hasEventOccurenceTime() const { return !entity->getArgument(10)->isNull(); } -IfcEventTime* IfcEvent::EventOccurenceTime() const { return (IfcEventTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcEvent::setEventOccurenceTime(IfcEventTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > IfcEvent::PredefinedType() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcEventTypeEnum::FromString(*arg); } } +void IfcEvent::PredefinedType(boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcEventTypeEnum::ToString(*v));; } else { w->setArgument(7); } } +boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > IfcEvent::EventTriggerType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcEventTriggerTypeEnum::FromString(*arg); } } +void IfcEvent::EventTriggerType(boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcEventTriggerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } +boost::optional< std::string > IfcEvent::UserDefinedEventTriggerType() const { return *entity->getArgument(9); } +void IfcEvent::UserDefinedEventTriggerType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcEventTime* > IfcEvent::EventOccurenceTime() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcEventTime*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcEvent::EventOccurenceTime(boost::optional< IfcEventTime* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcEvent::is(Type::Enum v) const { return v == Type::IfcEvent || IfcProcess::is(v); } Type::Enum IfcEvent::type() const { return Type::IfcEvent; } Type::Enum IfcEvent::Class() { return Type::IfcEvent; } IfcEvent::IfcEvent(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvent::IfcEvent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcEventTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } if (v9_EventTriggerType) { e->setArgument(8,*v9_EventTriggerType,IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType)); } else { e->setArgument(8); } if (v10_UserDefinedEventTriggerType) { e->setArgument(9,(*v10_UserDefinedEventTriggerType)); } else { e->setArgument(9); } e->setArgument(10,(v11_EventOccurenceTime)); entity = e; EntityBuffer::Add(this); } +IfcEvent::IfcEvent(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, boost::optional< IfcEventTime* > v11_EventOccurenceTime) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcEventTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } if (v9_EventTriggerType) { e->setArgument(8,*v9_EventTriggerType,IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType)); } else { e->setArgument(8); } if (v10_UserDefinedEventTriggerType) { e->setArgument(9,(*v10_UserDefinedEventTriggerType)); } else { e->setArgument(9); } if (v11_EventOccurenceTime) { e->setArgument(10,(*v11_EventOccurenceTime)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEventTime -bool IfcEventTime::hasActualDate() const { return !entity->getArgument(3)->isNull(); } -std::string IfcEventTime::ActualDate() const { return *entity->getArgument(3); } -void IfcEventTime::setActualDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcEventTime::hasEarlyDate() const { return !entity->getArgument(4)->isNull(); } -std::string IfcEventTime::EarlyDate() const { return *entity->getArgument(4); } -void IfcEventTime::setEarlyDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcEventTime::hasLateDate() const { return !entity->getArgument(5)->isNull(); } -std::string IfcEventTime::LateDate() const { return *entity->getArgument(5); } -void IfcEventTime::setLateDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcEventTime::hasScheduleDate() const { return !entity->getArgument(6)->isNull(); } -std::string IfcEventTime::ScheduleDate() const { return *entity->getArgument(6); } -void IfcEventTime::setScheduleDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< std::string > IfcEventTime::ActualDate() const { return *entity->getArgument(3); } +void IfcEventTime::ActualDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcEventTime::EarlyDate() const { return *entity->getArgument(4); } +void IfcEventTime::EarlyDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcEventTime::LateDate() const { return *entity->getArgument(5); } +void IfcEventTime::LateDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcEventTime::ScheduleDate() const { return *entity->getArgument(6); } +void IfcEventTime::ScheduleDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcEventTime::is(Type::Enum v) const { return v == Type::IfcEventTime || IfcSchedulingTime::is(v); } Type::Enum IfcEventTime::type() const { return Type::IfcEventTime; } Type::Enum IfcEventTime::Class() { return Type::IfcEventTime; } @@ -10586,27 +10346,24 @@ IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::option // Function implementations for IfcEventType IfcEventTypeEnum::IfcEventTypeEnum IfcEventType::PredefinedType() const { return IfcEventTypeEnum::FromString(*entity->getArgument(9)); } -void IfcEventType::setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcEventTypeEnum::ToString(v)); } +void IfcEventType::PredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcEventTypeEnum::ToString(v));; } IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum IfcEventType::EventTriggerType() const { return IfcEventTriggerTypeEnum::FromString(*entity->getArgument(10)); } -void IfcEventType::setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcEventTriggerTypeEnum::ToString(v)); } -bool IfcEventType::hasUserDefinedEventTriggerType() const { return !entity->getArgument(11)->isNull(); } -std::string IfcEventType::UserDefinedEventTriggerType() const { return *entity->getArgument(11); } -void IfcEventType::setUserDefinedEventTriggerType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcEventType::EventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v,IfcEventTriggerTypeEnum::ToString(v));; } +boost::optional< std::string > IfcEventType::UserDefinedEventTriggerType() const { return *entity->getArgument(11); } +void IfcEventType::UserDefinedEventTriggerType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcEventType::is(Type::Enum v) const { return v == Type::IfcEventType || IfcTypeProcess::is(v); } Type::Enum IfcEventType::type() const { return Type::IfcEventType; } Type::Enum IfcEventType::Class() { return Type::IfcEventType; } IfcEventType::IfcEventType(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEventType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEventType::IfcEventType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEventTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_EventTriggerType,IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType)); if (v12_UserDefinedEventTriggerType) { e->setArgument(11,(*v12_UserDefinedEventTriggerType)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcEventType::IfcEventType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEventTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_EventTriggerType,IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType)); if (v12_UserDefinedEventTriggerType) { e->setArgument(11,(*v12_UserDefinedEventTriggerType)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtendedProperties -bool IfcExtendedProperties::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcExtendedProperties::Name() const { return *entity->getArgument(0); } -void IfcExtendedProperties::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcExtendedProperties::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcExtendedProperties::Description() const { return *entity->getArgument(1); } -void IfcExtendedProperties::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcExtendedProperties::Name() const { return *entity->getArgument(0); } +void IfcExtendedProperties::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcExtendedProperties::Description() const { return *entity->getArgument(1); } +void IfcExtendedProperties::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcTemplatedEntityList< IfcProperty >::ptr IfcExtendedProperties::Properties() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcExtendedProperties::setProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcExtendedProperties::Properties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcExtendedProperties::is(Type::Enum v) const { return v == Type::IfcExtendedProperties || IfcPropertyAbstraction::is(v); } Type::Enum IfcExtendedProperties::type() const { return Type::IfcExtendedProperties; } Type::Enum IfcExtendedProperties::Class() { return Type::IfcExtendedProperties; } @@ -10621,15 +10378,12 @@ IfcExternalInformation::IfcExternalInformation(IfcAbstractEntity* e) : IfcUtil:: IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReference -bool IfcExternalReference::hasLocation() const { return !entity->getArgument(0)->isNull(); } -std::string IfcExternalReference::Location() const { return *entity->getArgument(0); } -void IfcExternalReference::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcExternalReference::hasIdentification() const { return !entity->getArgument(1)->isNull(); } -std::string IfcExternalReference::Identification() const { return *entity->getArgument(1); } -void IfcExternalReference::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcExternalReference::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcExternalReference::Name() const { return *entity->getArgument(2); } -void IfcExternalReference::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcExternalReference::Location() const { return *entity->getArgument(0); } +void IfcExternalReference::Location(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcExternalReference::Identification() const { return *entity->getArgument(1); } +void IfcExternalReference::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcExternalReference::Name() const { return *entity->getArgument(2); } +void IfcExternalReference::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcExternalReferenceRelationship::list::ptr IfcExternalReference::ExternalReferenceForResources() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 2)->as(); } bool IfcExternalReference::is(Type::Enum v) const { return v == Type::IfcExternalReference; } Type::Enum IfcExternalReference::type() const { return Type::IfcExternalReference; } @@ -10639,9 +10393,9 @@ IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Loc // Function implementations for IfcExternalReferenceRelationship IfcExternalReference* IfcExternalReferenceRelationship::RelatingReference() const { return (IfcExternalReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcExternalReferenceRelationship::setRelatingReference(IfcExternalReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcExternalReferenceRelationship::RelatingReference(IfcExternalReference* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcEntityList::ptr IfcExternalReferenceRelationship::RelatedResourceObjects() const { return *entity->getArgument(3); } -void IfcExternalReferenceRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcExternalReferenceRelationship::RelatedResourceObjects(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcExternalReferenceRelationship::is(Type::Enum v) const { return v == Type::IfcExternalReferenceRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcExternalReferenceRelationship::type() const { return Type::IfcExternalReferenceRelationship; } Type::Enum IfcExternalReferenceRelationship::Class() { return Type::IfcExternalReferenceRelationship; } @@ -10649,22 +10403,21 @@ IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcAbstractEn IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingReference)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalSpatialElement -bool IfcExternalSpatialElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum IfcExternalSpatialElement::PredefinedType() const { return IfcExternalSpatialElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcExternalSpatialElement::setPredefinedType(IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcExternalSpatialElementTypeEnum::ToString(v)); } +boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > IfcExternalSpatialElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcExternalSpatialElementTypeEnum::FromString(*arg); } } +void IfcExternalSpatialElement::PredefinedType(boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcExternalSpatialElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } IfcRelSpaceBoundary::list::ptr IfcExternalSpatialElement::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary, 4)->as(); } bool IfcExternalSpatialElement::is(Type::Enum v) const { return v == Type::IfcExternalSpatialElement || IfcExternalSpatialStructureElement::is(v); } Type::Enum IfcExternalSpatialElement::type() const { return Type::IfcExternalSpatialElement; } Type::Enum IfcExternalSpatialElement::Class() { return Type::IfcExternalSpatialElement; } IfcExternalSpatialElement::IfcExternalSpatialElement(IfcAbstractEntity* e) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcExternalSpatialElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcExternalSpatialElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalSpatialStructureElement bool IfcExternalSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcExternalSpatialStructureElement || IfcSpatialElement::is(v); } Type::Enum IfcExternalSpatialStructureElement::type() const { return Type::IfcExternalSpatialStructureElement; } Type::Enum IfcExternalSpatialStructureElement::Class() { return Type::IfcExternalSpatialStructureElement; } IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedHatchStyle bool IfcExternallyDefinedHatchStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedHatchStyle || IfcExternalReference::is(v); } @@ -10689,27 +10442,27 @@ IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std: // Function implementations for IfcExtrudedAreaSolid IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcExtrudedAreaSolid::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcExtrudedAreaSolid::ExtrudedDirection(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } -void IfcExtrudedAreaSolid::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcExtrudedAreaSolid::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcExtrudedAreaSolid::is(Type::Enum v) const { return v == Type::IfcExtrudedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcExtrudedAreaSolid::type() const { return Type::IfcExtrudedAreaSolid; } Type::Enum IfcExtrudedAreaSolid::Class() { return Type::IfcExtrudedAreaSolid; } IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } +IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolidTapered IfcProfileDef* IfcExtrudedAreaSolidTapered::EndSweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcExtrudedAreaSolidTapered::setEndSweptArea(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcExtrudedAreaSolidTapered::EndSweptArea(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcExtrudedAreaSolidTapered::is(Type::Enum v) const { return v == Type::IfcExtrudedAreaSolidTapered || IfcExtrudedAreaSolid::is(v); } Type::Enum IfcExtrudedAreaSolidTapered::type() const { return Type::IfcExtrudedAreaSolidTapered; } Type::Enum IfcExtrudedAreaSolidTapered::Class() { return Type::IfcExtrudedAreaSolidTapered; } IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcAbstractEntity* e) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth, IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } +IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth, IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFace IfcTemplatedEntityList< IfcFaceBound >::ptr IfcFace::Bounds() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcFace::setBounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcFace::Bounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } IfcTextureMap::list::ptr IfcFace::HasTextureMaps() const { return entity->getInverse(Type::IfcTextureMap, 2)->as(); } bool IfcFace::is(Type::Enum v) const { return v == Type::IfcFace || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFace::type() const { return Type::IfcFace; } @@ -10719,7 +10472,7 @@ IfcFace::IfcFace(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds) : IfcTop // Function implementations for IfcFaceBasedSurfaceModel IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr IfcFaceBasedSurfaceModel::FbsmFaces() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcFaceBasedSurfaceModel::setFbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcFaceBasedSurfaceModel::FbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcFaceBasedSurfaceModel::is(Type::Enum v) const { return v == Type::IfcFaceBasedSurfaceModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFaceBasedSurfaceModel::type() const { return Type::IfcFaceBasedSurfaceModel; } Type::Enum IfcFaceBasedSurfaceModel::Class() { return Type::IfcFaceBasedSurfaceModel; } @@ -10728,9 +10481,9 @@ IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcTemplatedEntityList< IfcCo // Function implementations for IfcFaceBound IfcLoop* IfcFaceBound::Bound() const { return (IfcLoop*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcFaceBound::setBound(IfcLoop* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcFaceBound::Bound(IfcLoop* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcFaceBound::Orientation() const { return *entity->getArgument(1); } -void IfcFaceBound::setOrientation(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcFaceBound::Orientation(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcFaceBound::is(Type::Enum v) const { return v == Type::IfcFaceBound || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFaceBound::type() const { return Type::IfcFaceBound; } Type::Enum IfcFaceBound::Class() { return Type::IfcFaceBound; } @@ -10746,9 +10499,9 @@ IfcFaceOuterBound::IfcFaceOuterBound(IfcLoop* v1_Bound, bool v2_Orientation) : I // Function implementations for IfcFaceSurface IfcSurface* IfcFaceSurface::FaceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcFaceSurface::setFaceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcFaceSurface::FaceSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcFaceSurface::SameSense() const { return *entity->getArgument(2); } -void IfcFaceSurface::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcFaceSurface::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcFaceSurface::is(Type::Enum v) const { return v == Type::IfcFaceSurface || IfcFace::is(v); } Type::Enum IfcFaceSurface::type() const { return Type::IfcFaceSurface; } Type::Enum IfcFaceSurface::Class() { return Type::IfcFaceSurface; } @@ -10764,7 +10517,7 @@ IfcFacetedBrep::IfcFacetedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep( // Function implementations for IfcFacetedBrepWithVoids IfcTemplatedEntityList< IfcClosedShell >::ptr IfcFacetedBrepWithVoids::Voids() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcFacetedBrepWithVoids::setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcFacetedBrepWithVoids::Voids(IfcTemplatedEntityList< IfcClosedShell >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcFacetedBrepWithVoids::is(Type::Enum v) const { return v == Type::IfcFacetedBrepWithVoids || IfcFacetedBrep::is(v); } Type::Enum IfcFacetedBrepWithVoids::type() const { return Type::IfcFacetedBrepWithVoids; } Type::Enum IfcFacetedBrepWithVoids::Class() { return Type::IfcFacetedBrepWithVoids; } @@ -10772,24 +10525,18 @@ IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcAbstractEntity* e) : IfcFace IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcClosedShell* v1_Outer, IfcTemplatedEntityList< IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); e->setArgument(1,(v2_Voids)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFailureConnectionCondition -bool IfcFailureConnectionCondition::hasTensionFailureX() const { return !entity->getArgument(1)->isNull(); } -double IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } -void IfcFailureConnectionCondition::setTensionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFailureConnectionCondition::hasTensionFailureY() const { return !entity->getArgument(2)->isNull(); } -double IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } -void IfcFailureConnectionCondition::setTensionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFailureConnectionCondition::hasTensionFailureZ() const { return !entity->getArgument(3)->isNull(); } -double IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } -void IfcFailureConnectionCondition::setTensionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureX() const { return !entity->getArgument(4)->isNull(); } -double IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } -void IfcFailureConnectionCondition::setCompressionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureY() const { return !entity->getArgument(5)->isNull(); } -double IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } -void IfcFailureConnectionCondition::setCompressionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !entity->getArgument(6)->isNull(); } -double IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } -void IfcFailureConnectionCondition::setCompressionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } +void IfcFailureConnectionCondition::TensionFailureX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } +void IfcFailureConnectionCondition::TensionFailureY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } +void IfcFailureConnectionCondition::TensionFailureZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } +void IfcFailureConnectionCondition::CompressionFailureX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } +void IfcFailureConnectionCondition::CompressionFailureY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } +void IfcFailureConnectionCondition::CompressionFailureZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcFailureConnectionCondition::is(Type::Enum v) const { return v == Type::IfcFailureConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcFailureConnectionCondition::type() const { return Type::IfcFailureConnectionCondition; } Type::Enum IfcFailureConnectionCondition::Class() { return Type::IfcFailureConnectionCondition; } @@ -10797,49 +10544,47 @@ IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntity* IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFan -bool IfcFan::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFanTypeEnum::IfcFanTypeEnum IfcFan::PredefinedType() const { return IfcFanTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFan::setPredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFanTypeEnum::ToString(v)); } +boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > IfcFan::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFanTypeEnum::FromString(*arg); } } +void IfcFan::PredefinedType(boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFanTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFan::is(Type::Enum v) const { return v == Type::IfcFan || IfcFlowMovingDevice::is(v); } Type::Enum IfcFan::type() const { return Type::IfcFan; } Type::Enum IfcFan::Class() { return Type::IfcFan; } IfcFan::IfcFan(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFan::IfcFan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFanTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFan::IfcFan(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFanTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFanType IfcFanTypeEnum::IfcFanTypeEnum IfcFanType::PredefinedType() const { return IfcFanTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFanType::setPredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFanTypeEnum::ToString(v)); } +void IfcFanType::PredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFanTypeEnum::ToString(v));; } bool IfcFanType::is(Type::Enum v) const { return v == Type::IfcFanType || IfcFlowMovingDeviceType::is(v); } Type::Enum IfcFanType::type() const { return Type::IfcFanType; } Type::Enum IfcFanType::Class() { return Type::IfcFanType; } IfcFanType::IfcFanType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFanType::IfcFanType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFanType::IfcFanType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastener -bool IfcFastener::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFastenerTypeEnum::IfcFastenerTypeEnum IfcFastener::PredefinedType() const { return IfcFastenerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFastener::setPredefinedType(IfcFastenerTypeEnum::IfcFastenerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFastenerTypeEnum::ToString(v)); } +boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > IfcFastener::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFastenerTypeEnum::FromString(*arg); } } +void IfcFastener::PredefinedType(boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFastenerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFastener::is(Type::Enum v) const { return v == Type::IfcFastener || IfcElementComponent::is(v); } Type::Enum IfcFastener::type() const { return Type::IfcFastener; } Type::Enum IfcFastener::Class() { return Type::IfcFastener; } IfcFastener::IfcFastener(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastener::IfcFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFastenerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFastener::IfcFastener(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFastenerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastenerType IfcFastenerTypeEnum::IfcFastenerTypeEnum IfcFastenerType::PredefinedType() const { return IfcFastenerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFastenerType::setPredefinedType(IfcFastenerTypeEnum::IfcFastenerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFastenerTypeEnum::ToString(v)); } +void IfcFastenerType::PredefinedType(IfcFastenerTypeEnum::IfcFastenerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFastenerTypeEnum::ToString(v));; } bool IfcFastenerType::is(Type::Enum v) const { return v == Type::IfcFastenerType || IfcElementComponentType::is(v); } Type::Enum IfcFastenerType::type() const { return Type::IfcFastenerType; } Type::Enum IfcFastenerType::Class() { return Type::IfcFastenerType; } IfcFastenerType::IfcFastenerType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFastenerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFastenerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElement bool IfcFeatureElement::is(Type::Enum v) const { return v == Type::IfcFeatureElement || IfcElement::is(v); } Type::Enum IfcFeatureElement::type() const { return Type::IfcFeatureElement; } Type::Enum IfcFeatureElement::Class() { return Type::IfcFeatureElement; } IfcFeatureElement::IfcFeatureElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementAddition IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return entity->getInverse(Type::IfcRelProjectsElement, 5)->as(); } @@ -10847,7 +10592,7 @@ bool IfcFeatureElementAddition::is(Type::Enum v) const { return v == Type::IfcFe Type::Enum IfcFeatureElementAddition::type() const { return Type::IfcFeatureElementAddition; } Type::Enum IfcFeatureElementAddition::Class() { return Type::IfcFeatureElementAddition; } IfcFeatureElementAddition::IfcFeatureElementAddition(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementSubtraction IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return entity->getInverse(Type::IfcRelVoidsElement, 5)->as(); } @@ -10855,14 +10600,13 @@ bool IfcFeatureElementSubtraction::is(Type::Enum v) const { return v == Type::If Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureElementSubtraction; } Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyle IfcEntityList::ptr IfcFillAreaStyle::FillStyles() const { return *entity->getArgument(1); } -void IfcFillAreaStyle::setFillStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFillAreaStyle::hasModelorDraughting() const { return !entity->getArgument(2)->isNull(); } -bool IfcFillAreaStyle::ModelorDraughting() const { return *entity->getArgument(2); } -void IfcFillAreaStyle::setModelorDraughting(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcFillAreaStyle::FillStyles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< bool > IfcFillAreaStyle::ModelorDraughting() const { return *entity->getArgument(2); } +void IfcFillAreaStyle::ModelorDraughting(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcFillAreaStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaStyle || IfcPresentationStyle::is(v); } Type::Enum IfcFillAreaStyle::type() const { return Type::IfcFillAreaStyle; } Type::Enum IfcFillAreaStyle::Class() { return Type::IfcFillAreaStyle; } @@ -10871,30 +10615,28 @@ IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, IfcEn // Function implementations for IfcFillAreaStyleHatching IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() const { return (IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcFillAreaStyleHatching::setHatchLineAppearance(IfcCurveStyle* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcFillAreaStyleHatching::HatchLineAppearance(IfcCurveStyle* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcHatchLineDistanceSelect* IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return (IfcHatchLineDistanceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() const { return !entity->getArgument(2)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFillAreaStyleHatching::hasPatternStart() const { return !entity->getArgument(3)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcFillAreaStyleHatching::setPatternStart(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcFillAreaStyleHatching::StartOfNextHatchLine(IfcHatchLineDistanceSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcCartesianPoint* > IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFillAreaStyleHatching::PointOfReferenceHatchLine(boost::optional< IfcCartesianPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcCartesianPoint* > IfcFillAreaStyleHatching::PatternStart() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcFillAreaStyleHatching::PatternStart(boost::optional< IfcCartesianPoint* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } double IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } -void IfcFillAreaStyleHatching::setHatchLineAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcFillAreaStyleHatching::HatchLineAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcFillAreaStyleHatching::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleHatching || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleHatching::type() const { return Type::IfcFillAreaStyleHatching; } Type::Enum IfcFillAreaStyleHatching::Class() { return Type::IfcFillAreaStyleHatching; } IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, boost::optional< IfcCartesianPoint* > v3_PointOfReferenceHatchLine, boost::optional< IfcCartesianPoint* > v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); if (v3_PointOfReferenceHatchLine) { e->setArgument(2,(*v3_PointOfReferenceHatchLine)); } else { e->setArgument(2); } if (v4_PatternStart) { e->setArgument(3,(*v4_PatternStart)); } else { e->setArgument(3); } e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTiles IfcTemplatedEntityList< IfcVector >::ptr IfcFillAreaStyleTiles::TilingPattern() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcFillAreaStyleTiles::setTilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcFillAreaStyleTiles::TilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } IfcTemplatedEntityList< IfcStyledItem >::ptr IfcFillAreaStyleTiles::Tiles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcFillAreaStyleTiles::setTiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcFillAreaStyleTiles::Tiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } double IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } -void IfcFillAreaStyleTiles::setTilingScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcFillAreaStyleTiles::TilingScale(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } Type::Enum IfcFillAreaStyleTiles::Class() { return Type::IfcFillAreaStyleTiles; } @@ -10902,269 +10644,259 @@ IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntity* e) : IfcGeometri IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)->generalize()); e->setArgument(1,(v2_Tiles)->generalize()); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilter -bool IfcFilter::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilter::PredefinedType() const { return IfcFilterTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFilter::setPredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFilterTypeEnum::ToString(v)); } +boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > IfcFilter::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFilterTypeEnum::FromString(*arg); } } +void IfcFilter::PredefinedType(boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFilterTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFilter::is(Type::Enum v) const { return v == Type::IfcFilter || IfcFlowTreatmentDevice::is(v); } Type::Enum IfcFilter::type() const { return Type::IfcFilter; } Type::Enum IfcFilter::Class() { return Type::IfcFilter; } IfcFilter::IfcFilter(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilter::IfcFilter(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFilterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFilter::IfcFilter(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFilterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilterType IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterType::PredefinedType() const { return IfcFilterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFilterType::setPredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFilterTypeEnum::ToString(v)); } +void IfcFilterType::PredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFilterTypeEnum::ToString(v));; } bool IfcFilterType::is(Type::Enum v) const { return v == Type::IfcFilterType || IfcFlowTreatmentDeviceType::is(v); } Type::Enum IfcFilterType::type() const { return Type::IfcFilterType; } Type::Enum IfcFilterType::Class() { return Type::IfcFilterType; } IfcFilterType::IfcFilterType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilterType::IfcFilterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFilterType::IfcFilterType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminal -bool IfcFireSuppressionTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminal::PredefinedType() const { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFireSuppressionTerminal::setPredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFireSuppressionTerminalTypeEnum::ToString(v)); } +boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > IfcFireSuppressionTerminal::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFireSuppressionTerminalTypeEnum::FromString(*arg); } } +void IfcFireSuppressionTerminal::PredefinedType(boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFireSuppressionTerminalTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFireSuppressionTerminal::is(Type::Enum v) const { return v == Type::IfcFireSuppressionTerminal || IfcFlowTerminal::is(v); } Type::Enum IfcFireSuppressionTerminal::type() const { return Type::IfcFireSuppressionTerminal; } Type::Enum IfcFireSuppressionTerminal::Class() { return Type::IfcFireSuppressionTerminal; } IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminalType IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalType::PredefinedType() const { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFireSuppressionTerminalType::setPredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFireSuppressionTerminalTypeEnum::ToString(v)); } +void IfcFireSuppressionTerminalType::PredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFireSuppressionTerminalTypeEnum::ToString(v));; } bool IfcFireSuppressionTerminalType::is(Type::Enum v) const { return v == Type::IfcFireSuppressionTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcFireSuppressionTerminalType::type() const { return Type::IfcFireSuppressionTerminalType; } Type::Enum IfcFireSuppressionTerminalType::Class() { return Type::IfcFireSuppressionTerminalType; } IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFixedReferenceSweptAreaSolid IfcCurve* IfcFixedReferenceSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcFixedReferenceSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFixedReferenceSweptAreaSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } -double IfcFixedReferenceSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } -void IfcFixedReferenceSweptAreaSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFixedReferenceSweptAreaSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } -double IfcFixedReferenceSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } -void IfcFixedReferenceSweptAreaSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcFixedReferenceSweptAreaSolid::Directrix(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcFixedReferenceSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } +void IfcFixedReferenceSweptAreaSolid::StartParam(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcFixedReferenceSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } +void IfcFixedReferenceSweptAreaSolid::EndParam(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcDirection* IfcFixedReferenceSweptAreaSolid::FixedReference() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcFixedReferenceSweptAreaSolid::setFixedReference(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcFixedReferenceSweptAreaSolid::FixedReference(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcFixedReferenceSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcFixedReferenceSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcFixedReferenceSweptAreaSolid::type() const { return Type::IfcFixedReferenceSweptAreaSolid; } Type::Enum IfcFixedReferenceSweptAreaSolid::Class() { return Type::IfcFixedReferenceSweptAreaSolid; } IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFixedReferenceSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcDirection* v6_FixedReference) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_FixedReference)); entity = e; EntityBuffer::Add(this); } +IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcDirection* v6_FixedReference) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_FixedReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowController bool IfcFlowController::is(Type::Enum v) const { return v == Type::IfcFlowController || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowController::type() const { return Type::IfcFlowController; } Type::Enum IfcFlowController::Class() { return Type::IfcFlowController; } IfcFlowController::IfcFlowController(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowController::IfcFlowController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowController::IfcFlowController(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowControllerType bool IfcFlowControllerType::is(Type::Enum v) const { return v == Type::IfcFlowControllerType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowControllerType::type() const { return Type::IfcFlowControllerType; } Type::Enum IfcFlowControllerType::Class() { return Type::IfcFlowControllerType; } IfcFlowControllerType::IfcFlowControllerType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFitting bool IfcFlowFitting::is(Type::Enum v) const { return v == Type::IfcFlowFitting || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowFitting::type() const { return Type::IfcFlowFitting; } Type::Enum IfcFlowFitting::Class() { return Type::IfcFlowFitting; } IfcFlowFitting::IfcFlowFitting(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFittingType bool IfcFlowFittingType::is(Type::Enum v) const { return v == Type::IfcFlowFittingType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowFittingType::type() const { return Type::IfcFlowFittingType; } Type::Enum IfcFlowFittingType::Class() { return Type::IfcFlowFittingType; } IfcFlowFittingType::IfcFlowFittingType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrument -bool IfcFlowInstrument::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrument::PredefinedType() const { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFlowInstrument::setPredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFlowInstrumentTypeEnum::ToString(v)); } +boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > IfcFlowInstrument::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFlowInstrumentTypeEnum::FromString(*arg); } } +void IfcFlowInstrument::PredefinedType(boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFlowInstrumentTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFlowInstrument::is(Type::Enum v) const { return v == Type::IfcFlowInstrument || IfcDistributionControlElement::is(v); } Type::Enum IfcFlowInstrument::type() const { return Type::IfcFlowInstrument; } Type::Enum IfcFlowInstrument::Class() { return Type::IfcFlowInstrument; } IfcFlowInstrument::IfcFlowInstrument(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrumentType IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentType::PredefinedType() const { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFlowInstrumentType::setPredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFlowInstrumentTypeEnum::ToString(v)); } +void IfcFlowInstrumentType::PredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFlowInstrumentTypeEnum::ToString(v));; } bool IfcFlowInstrumentType::is(Type::Enum v) const { return v == Type::IfcFlowInstrumentType || IfcDistributionControlElementType::is(v); } Type::Enum IfcFlowInstrumentType::type() const { return Type::IfcFlowInstrumentType; } Type::Enum IfcFlowInstrumentType::Class() { return Type::IfcFlowInstrumentType; } IfcFlowInstrumentType::IfcFlowInstrumentType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeter -bool IfcFlowMeter::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeter::PredefinedType() const { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFlowMeter::setPredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFlowMeterTypeEnum::ToString(v)); } +boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > IfcFlowMeter::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFlowMeterTypeEnum::FromString(*arg); } } +void IfcFlowMeter::PredefinedType(boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFlowMeterTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFlowMeter::is(Type::Enum v) const { return v == Type::IfcFlowMeter || IfcFlowController::is(v); } Type::Enum IfcFlowMeter::type() const { return Type::IfcFlowMeter; } Type::Enum IfcFlowMeter::Class() { return Type::IfcFlowMeter; } IfcFlowMeter::IfcFlowMeter(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowMeterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowMeterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeterType IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterType::PredefinedType() const { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFlowMeterType::setPredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFlowMeterTypeEnum::ToString(v)); } +void IfcFlowMeterType::PredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFlowMeterTypeEnum::ToString(v));; } bool IfcFlowMeterType::is(Type::Enum v) const { return v == Type::IfcFlowMeterType || IfcFlowControllerType::is(v); } Type::Enum IfcFlowMeterType::type() const { return Type::IfcFlowMeterType; } Type::Enum IfcFlowMeterType::Class() { return Type::IfcFlowMeterType; } IfcFlowMeterType::IfcFlowMeterType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDevice bool IfcFlowMovingDevice::is(Type::Enum v) const { return v == Type::IfcFlowMovingDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowMovingDevice::type() const { return Type::IfcFlowMovingDevice; } Type::Enum IfcFlowMovingDevice::Class() { return Type::IfcFlowMovingDevice; } IfcFlowMovingDevice::IfcFlowMovingDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDeviceType bool IfcFlowMovingDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowMovingDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowMovingDeviceType::type() const { return Type::IfcFlowMovingDeviceType; } Type::Enum IfcFlowMovingDeviceType::Class() { return Type::IfcFlowMovingDeviceType; } IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegment bool IfcFlowSegment::is(Type::Enum v) const { return v == Type::IfcFlowSegment || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowSegment::type() const { return Type::IfcFlowSegment; } Type::Enum IfcFlowSegment::Class() { return Type::IfcFlowSegment; } IfcFlowSegment::IfcFlowSegment(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegmentType bool IfcFlowSegmentType::is(Type::Enum v) const { return v == Type::IfcFlowSegmentType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowSegmentType::type() const { return Type::IfcFlowSegmentType; } Type::Enum IfcFlowSegmentType::Class() { return Type::IfcFlowSegmentType; } IfcFlowSegmentType::IfcFlowSegmentType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDevice bool IfcFlowStorageDevice::is(Type::Enum v) const { return v == Type::IfcFlowStorageDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowStorageDevice::type() const { return Type::IfcFlowStorageDevice; } Type::Enum IfcFlowStorageDevice::Class() { return Type::IfcFlowStorageDevice; } IfcFlowStorageDevice::IfcFlowStorageDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDeviceType bool IfcFlowStorageDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowStorageDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowStorageDeviceType::type() const { return Type::IfcFlowStorageDeviceType; } Type::Enum IfcFlowStorageDeviceType::Class() { return Type::IfcFlowStorageDeviceType; } IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminal bool IfcFlowTerminal::is(Type::Enum v) const { return v == Type::IfcFlowTerminal || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowTerminal::type() const { return Type::IfcFlowTerminal; } Type::Enum IfcFlowTerminal::Class() { return Type::IfcFlowTerminal; } IfcFlowTerminal::IfcFlowTerminal(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminalType bool IfcFlowTerminalType::is(Type::Enum v) const { return v == Type::IfcFlowTerminalType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowTerminalType::type() const { return Type::IfcFlowTerminalType; } Type::Enum IfcFlowTerminalType::Class() { return Type::IfcFlowTerminalType; } IfcFlowTerminalType::IfcFlowTerminalType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDevice bool IfcFlowTreatmentDevice::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowTreatmentDevice::type() const { return Type::IfcFlowTreatmentDevice; } Type::Enum IfcFlowTreatmentDevice::Class() { return Type::IfcFlowTreatmentDevice; } IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDeviceType bool IfcFlowTreatmentDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowTreatmentDeviceType::type() const { return Type::IfcFlowTreatmentDeviceType; } Type::Enum IfcFlowTreatmentDeviceType::Class() { return Type::IfcFlowTreatmentDeviceType; } IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFooting -bool IfcFooting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFootingTypeEnum::IfcFootingTypeEnum IfcFooting::PredefinedType() const { return IfcFootingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFooting::setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFootingTypeEnum::ToString(v)); } +boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > IfcFooting::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFootingTypeEnum::FromString(*arg); } } +void IfcFooting::PredefinedType(boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFootingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFooting::is(Type::Enum v) const { return v == Type::IfcFooting || IfcBuildingElement::is(v); } Type::Enum IfcFooting::type() const { return Type::IfcFooting; } Type::Enum IfcFooting::Class() { return Type::IfcFooting; } IfcFooting::IfcFooting(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFooting::IfcFooting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFootingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFooting::IfcFooting(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFootingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFootingType IfcFootingTypeEnum::IfcFootingTypeEnum IfcFootingType::PredefinedType() const { return IfcFootingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcFootingType::setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcFootingTypeEnum::ToString(v)); } +void IfcFootingType::PredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcFootingTypeEnum::ToString(v));; } bool IfcFootingType::is(Type::Enum v) const { return v == Type::IfcFootingType || IfcBuildingElementType::is(v); } Type::Enum IfcFootingType::type() const { return Type::IfcFootingType; } Type::Enum IfcFootingType::Class() { return Type::IfcFootingType; } IfcFootingType::IfcFootingType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFootingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFootingType::IfcFootingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFootingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFootingType::IfcFootingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFootingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElement bool IfcFurnishingElement::is(Type::Enum v) const { return v == Type::IfcFurnishingElement || IfcElement::is(v); } Type::Enum IfcFurnishingElement::type() const { return Type::IfcFurnishingElement; } Type::Enum IfcFurnishingElement::Class() { return Type::IfcFurnishingElement; } IfcFurnishingElement::IfcFurnishingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElementType bool IfcFurnishingElementType::is(Type::Enum v) const { return v == Type::IfcFurnishingElementType || IfcElementType::is(v); } Type::Enum IfcFurnishingElementType::type() const { return Type::IfcFurnishingElementType; } Type::Enum IfcFurnishingElementType::Class() { return Type::IfcFurnishingElementType; } IfcFurnishingElementType::IfcFurnishingElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurniture -bool IfcFurniture::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcFurnitureTypeEnum::IfcFurnitureTypeEnum IfcFurniture::PredefinedType() const { return IfcFurnitureTypeEnum::FromString(*entity->getArgument(8)); } -void IfcFurniture::setPredefinedType(IfcFurnitureTypeEnum::IfcFurnitureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcFurnitureTypeEnum::ToString(v)); } +boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > IfcFurniture::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcFurnitureTypeEnum::FromString(*arg); } } +void IfcFurniture::PredefinedType(boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcFurnitureTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcFurniture::is(Type::Enum v) const { return v == Type::IfcFurniture || IfcFurnishingElement::is(v); } Type::Enum IfcFurniture::type() const { return Type::IfcFurniture; } Type::Enum IfcFurniture::Class() { return Type::IfcFurniture; } IfcFurniture::IfcFurniture(IfcAbstractEntity* e) : IfcFurnishingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurniture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurniture::IfcFurniture(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFurnitureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFurniture::IfcFurniture(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFurnitureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureType IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcFurnitureType::AssemblyPlace() const { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(9)); } -void IfcFurnitureType::setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcAssemblyPlaceEnum::ToString(v)); } -bool IfcFurnitureType::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcFurnitureTypeEnum::IfcFurnitureTypeEnum IfcFurnitureType::PredefinedType() const { return IfcFurnitureTypeEnum::FromString(*entity->getArgument(10)); } -void IfcFurnitureType::setPredefinedType(IfcFurnitureTypeEnum::IfcFurnitureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcFurnitureTypeEnum::ToString(v)); } +void IfcFurnitureType::AssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcAssemblyPlaceEnum::ToString(v));; } +boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > IfcFurnitureType::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcFurnitureTypeEnum::FromString(*arg); } } +void IfcFurnitureType::PredefinedType(boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcFurnitureTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcFurnitureType::is(Type::Enum v) const { return v == Type::IfcFurnitureType || IfcFurnishingElementType::is(v); } Type::Enum IfcFurnitureType::type() const { return Type::IfcFurnitureType; } Type::Enum IfcFurnitureType::Class() { return Type::IfcFurnitureType; } IfcFurnitureType::IfcFurnitureType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcFurnitureTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcFurnitureTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeographicElement -bool IfcGeographicElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum IfcGeographicElement::PredefinedType() const { return IfcGeographicElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcGeographicElement::setPredefinedType(IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGeographicElementTypeEnum::ToString(v)); } +boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > IfcGeographicElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcGeographicElementTypeEnum::FromString(*arg); } } +void IfcGeographicElement::PredefinedType(boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcGeographicElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcGeographicElement::is(Type::Enum v) const { return v == Type::IfcGeographicElement || IfcElement::is(v); } Type::Enum IfcGeographicElement::type() const { return Type::IfcGeographicElement; } Type::Enum IfcGeographicElement::Class() { return Type::IfcGeographicElement; } IfcGeographicElement::IfcGeographicElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeographicElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcGeographicElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcGeographicElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeographicElementType IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum IfcGeographicElementType::PredefinedType() const { return IfcGeographicElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcGeographicElementType::setPredefinedType(IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcGeographicElementTypeEnum::ToString(v)); } +void IfcGeographicElementType::PredefinedType(IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcGeographicElementTypeEnum::ToString(v));; } bool IfcGeographicElementType::is(Type::Enum v) const { return v == Type::IfcGeographicElementType || IfcElementType::is(v); } Type::Enum IfcGeographicElementType::type() const { return Type::IfcGeographicElementType; } Type::Enum IfcGeographicElementType::Class() { return Type::IfcGeographicElementType; } IfcGeographicElementType::IfcGeographicElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeographicElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGeographicElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGeographicElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricCurveSet bool IfcGeometricCurveSet::is(Type::Enum v) const { return v == Type::IfcGeometricCurveSet || IfcGeometricSet::is(v); } @@ -11175,21 +10907,19 @@ IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : Ifc // Function implementations for IfcGeometricRepresentationContext int IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } -void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeometricRepresentationContext::hasPrecision() const { return !entity->getArgument(3)->isNull(); } -double IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } -void IfcGeometricRepresentationContext::setPrecision(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcGeometricRepresentationContext::CoordinateSpaceDimension(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } +void IfcGeometricRepresentationContext::Precision(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } IfcAxis2Placement* IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !entity->getArgument(5)->isNull(); } -IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcGeometricRepresentationContext::WorldCoordinateSystem(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< IfcDirection* > IfcGeometricRepresentationContext::TrueNorth() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcGeometricRepresentationContext::TrueNorth(boost::optional< IfcDirection* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return entity->getInverse(Type::IfcGeometricRepresentationSubContext, 6)->as(); } bool IfcGeometricRepresentationContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationContext || IfcRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationContext::type() const { return Type::IfcGeometricRepresentationContext; } Type::Enum IfcGeometricRepresentationContext::Class() { return Type::IfcGeometricRepresentationContext; } IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcAbstractEntity* e) : IfcRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, boost::optional< IfcDirection* > v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); if (v6_TrueNorth) { e->setArgument(5,(*v6_TrueNorth)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationItem bool IfcGeometricRepresentationItem::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationItem || IfcRepresentationItem::is(v); } @@ -11200,15 +10930,13 @@ IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresenta // Function implementations for IfcGeometricRepresentationSubContext IfcGeometricRepresentationContext* IfcGeometricRepresentationSubContext::ParentContext() const { return (IfcGeometricRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcGeometricRepresentationSubContext::setParentContext(IfcGeometricRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcGeometricRepresentationSubContext::hasTargetScale() const { return !entity->getArgument(7)->isNull(); } -double IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } -void IfcGeometricRepresentationSubContext::setTargetScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcGeometricRepresentationSubContext::ParentContext(IfcGeometricRepresentationContext* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } +void IfcGeometricRepresentationSubContext::TargetScale(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricRepresentationSubContext::TargetView() const { return IfcGeometricProjectionEnum::FromString(*entity->getArgument(8)); } -void IfcGeometricRepresentationSubContext::setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGeometricProjectionEnum::ToString(v)); } -bool IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !entity->getArgument(9)->isNull(); } -std::string IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } -void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcGeometricRepresentationSubContext::TargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcGeometricProjectionEnum::ToString(v));; } +boost::optional< std::string > IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } +void IfcGeometricRepresentationSubContext::UserDefinedTargetView(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcGeometricRepresentationSubContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationSubContext || IfcGeometricRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::IfcGeometricRepresentationSubContext; } Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } @@ -11217,7 +10945,7 @@ IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost // Function implementations for IfcGeometricSet IfcEntityList::ptr IfcGeometricSet::Elements() const { return *entity->getArgument(0); } -void IfcGeometricSet::setElements(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcGeometricSet::Elements(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcGeometricSet::is(Type::Enum v) const { return v == Type::IfcGeometricSet || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcGeometricSet::type() const { return Type::IfcGeometricSet; } Type::Enum IfcGeometricSet::Class() { return Type::IfcGeometricSet; } @@ -11226,30 +10954,27 @@ IfcGeometricSet::IfcGeometricSet(IfcEntityList::ptr v1_Elements) : IfcGeometricR // Function implementations for IfcGrid IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::UAxes() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcGrid::setUAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +void IfcGrid::UAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::VAxes() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcGrid::setVAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcGrid::hasWAxes() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcGridAxis >::ptr IfcGrid::WAxes() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcGrid::setWAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcGrid::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcGridTypeEnum::IfcGridTypeEnum IfcGrid::PredefinedType() const { return IfcGridTypeEnum::FromString(*entity->getArgument(10)); } -void IfcGrid::setPredefinedType(IfcGridTypeEnum::IfcGridTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcGridTypeEnum::ToString(v)); } +void IfcGrid::VAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v->generalize());; } +boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > IfcGrid::WAxes() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcGrid::WAxes(boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,(*v)->generalize());; } else { w->setArgument(9); } } +boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > IfcGrid::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcGridTypeEnum::FromString(*arg); } } +void IfcGrid::PredefinedType(boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcGridTypeEnum::ToString(*v));; } else { w->setArgument(10); } } IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } bool IfcGrid::is(Type::Enum v) const { return v == Type::IfcGrid || IfcProduct::is(v); } Type::Enum IfcGrid::type() const { return Type::IfcGrid; } Type::Enum IfcGrid::Class() { return Type::IfcGrid; } IfcGrid::IfcGrid(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGrid::IfcGrid(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcGridTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcGrid::IfcGrid(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcGridTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridAxis -bool IfcGridAxis::hasAxisTag() const { return !entity->getArgument(0)->isNull(); } -std::string IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } -void IfcGridAxis::setAxisTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } +void IfcGridAxis::AxisTag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcCurve* IfcGridAxis::AxisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcGridAxis::setAxisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcGridAxis::AxisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcGridAxis::SameSense() const { return *entity->getArgument(2); } -void IfcGridAxis::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcGridAxis::SameSense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return entity->getInverse(Type::IfcGrid, 9)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return entity->getInverse(Type::IfcGrid, 8)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return entity->getInverse(Type::IfcGrid, 7)->as(); } @@ -11262,15 +10987,14 @@ IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, IfcCurve* v2 // Function implementations for IfcGridPlacement IfcVirtualGridIntersection* IfcGridPlacement::PlacementLocation() const { return (IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcGridPlacement::setPlacementLocation(IfcVirtualGridIntersection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcGridPlacement::hasPlacementRefDirection() const { return !entity->getArgument(1)->isNull(); } -IfcGridPlacementDirectionSelect* IfcGridPlacement::PlacementRefDirection() const { return (IfcGridPlacementDirectionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcGridPlacement::setPlacementRefDirection(IfcGridPlacementDirectionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcGridPlacement::PlacementLocation(IfcVirtualGridIntersection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcGridPlacementDirectionSelect* > IfcGridPlacement::PlacementRefDirection() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcGridPlacementDirectionSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcGridPlacement::PlacementRefDirection(boost::optional< IfcGridPlacementDirectionSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcGridPlacement::is(Type::Enum v) const { return v == Type::IfcGridPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcGridPlacement::type() const { return Type::IfcGridPlacement; } Type::Enum IfcGridPlacement::Class() { return Type::IfcGridPlacement; } IfcGridPlacement::IfcGridPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGridPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); e->setArgument(1,(v2_PlacementRefDirection)); entity = e; EntityBuffer::Add(this); } +IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect* > v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); if (v2_PlacementRefDirection) { e->setArgument(1,(*v2_PlacementRefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGroup IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return entity->getInverse(Type::IfcRelAssignsToGroup, 6)->as(); } @@ -11278,13 +11002,13 @@ bool IfcGroup::is(Type::Enum v) const { return v == Type::IfcGroup || IfcObject: Type::Enum IfcGroup::type() const { return Type::IfcGroup; } Type::Enum IfcGroup::Class() { return Type::IfcGroup; } IfcGroup::IfcGroup(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGroup::IfcGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcGroup::IfcGroup(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHalfSpaceSolid IfcSurface* IfcHalfSpaceSolid::BaseSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcHalfSpaceSolid::setBaseSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcHalfSpaceSolid::BaseSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcHalfSpaceSolid::AgreementFlag() const { return *entity->getArgument(1); } -void IfcHalfSpaceSolid::setAgreementFlag(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcHalfSpaceSolid::AgreementFlag(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcHalfSpaceSolid::is(Type::Enum v) const { return v == Type::IfcHalfSpaceSolid || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcHalfSpaceSolid::type() const { return Type::IfcHalfSpaceSolid; } Type::Enum IfcHalfSpaceSolid::Class() { return Type::IfcHalfSpaceSolid; } @@ -11292,97 +11016,91 @@ IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcAbstractEntity* e) : IfcGeometricReprese IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHeatExchanger -bool IfcHeatExchanger::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchanger::PredefinedType() const { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcHeatExchanger::setPredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcHeatExchangerTypeEnum::ToString(v)); } +boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > IfcHeatExchanger::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcHeatExchangerTypeEnum::FromString(*arg); } } +void IfcHeatExchanger::PredefinedType(boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcHeatExchangerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcHeatExchanger::is(Type::Enum v) const { return v == Type::IfcHeatExchanger || IfcEnergyConversionDevice::is(v); } Type::Enum IfcHeatExchanger::type() const { return Type::IfcHeatExchanger; } Type::Enum IfcHeatExchanger::Class() { return Type::IfcHeatExchanger; } IfcHeatExchanger::IfcHeatExchanger(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchanger)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHeatExchangerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHeatExchangerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHeatExchangerType IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchangerType::PredefinedType() const { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcHeatExchangerType::setPredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcHeatExchangerTypeEnum::ToString(v)); } +void IfcHeatExchangerType::PredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcHeatExchangerTypeEnum::ToString(v));; } bool IfcHeatExchangerType::is(Type::Enum v) const { return v == Type::IfcHeatExchangerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcHeatExchangerType::type() const { return Type::IfcHeatExchangerType; } Type::Enum IfcHeatExchangerType::Class() { return Type::IfcHeatExchangerType; } IfcHeatExchangerType::IfcHeatExchangerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifier -bool IfcHumidifier::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifier::PredefinedType() const { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(8)); } -void IfcHumidifier::setPredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcHumidifierTypeEnum::ToString(v)); } +boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > IfcHumidifier::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcHumidifierTypeEnum::FromString(*arg); } } +void IfcHumidifier::PredefinedType(boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcHumidifierTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcHumidifier::is(Type::Enum v) const { return v == Type::IfcHumidifier || IfcEnergyConversionDevice::is(v); } Type::Enum IfcHumidifier::type() const { return Type::IfcHumidifier; } Type::Enum IfcHumidifier::Class() { return Type::IfcHumidifier; } IfcHumidifier::IfcHumidifier(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifier)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHumidifierTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHumidifierTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifierType IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierType::PredefinedType() const { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(9)); } -void IfcHumidifierType::setPredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcHumidifierTypeEnum::ToString(v)); } +void IfcHumidifierType::PredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcHumidifierTypeEnum::ToString(v));; } bool IfcHumidifierType::is(Type::Enum v) const { return v == Type::IfcHumidifierType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcHumidifierType::type() const { return Type::IfcHumidifierType; } Type::Enum IfcHumidifierType::Class() { return Type::IfcHumidifierType; } IfcHumidifierType::IfcHumidifierType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIShapeProfileDef double IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } -void IfcIShapeProfileDef::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcIShapeProfileDef::OverallWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } -void IfcIShapeProfileDef::setOverallDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcIShapeProfileDef::OverallDepth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcIShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcIShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcIShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcIShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcIShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcIShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcIShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } -void IfcIShapeProfileDef::setFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcIShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } -double IfcIShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } -void IfcIShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcIShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcIShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcIShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } +void IfcIShapeProfileDef::FlangeEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcIShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } +void IfcIShapeProfileDef::FlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcIShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcIShapeProfileDef::type() const { return Type::IfcIShapeProfileDef; } Type::Enum IfcIShapeProfileDef::Class() { return Type::IfcIShapeProfileDef; } IfcIShapeProfileDef::IfcIShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcImageTexture std::string IfcImageTexture::URLReference() const { return *entity->getArgument(5); } -void IfcImageTexture::setURLReference(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcImageTexture::URLReference(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcImageTexture::is(Type::Enum v) const { return v == Type::IfcImageTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcImageTexture::type() const { return Type::IfcImageTexture; } Type::Enum IfcImageTexture::Class() { return Type::IfcImageTexture; } IfcImageTexture::IfcImageTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_URLReference)); entity = e; EntityBuffer::Add(this); } +IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_URLReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIndexedColourMap IfcTessellatedFaceSet* IfcIndexedColourMap::MappedTo() const { return (IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcIndexedColourMap::setMappedTo(IfcTessellatedFaceSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcIndexedColourMap::hasOverrides() const { return !entity->getArgument(1)->isNull(); } -IfcSurfaceStyleShading* IfcIndexedColourMap::Overrides() const { return (IfcSurfaceStyleShading*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcIndexedColourMap::setOverrides(IfcSurfaceStyleShading* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcIndexedColourMap::MappedTo(IfcTessellatedFaceSet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcSurfaceStyleShading* > IfcIndexedColourMap::Overrides() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcSurfaceStyleShading*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcIndexedColourMap::Overrides(boost::optional< IfcSurfaceStyleShading* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcColourRgbList* IfcIndexedColourMap::Colours() const { return (IfcColourRgbList*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcIndexedColourMap::setColours(IfcColourRgbList* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcIndexedColourMap::Colours(IfcColourRgbList* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } std::vector< int > /*[1:?]*/ IfcIndexedColourMap::ColourIndex() const { return *entity->getArgument(3); } -void IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcIndexedColourMap::ColourIndex(std::vector< int > /*[1:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcIndexedColourMap::is(Type::Enum v) const { return v == Type::IfcIndexedColourMap || IfcPresentationItem::is(v); } Type::Enum IfcIndexedColourMap::type() const { return Type::IfcIndexedColourMap; } Type::Enum IfcIndexedColourMap::Class() { return Type::IfcIndexedColourMap; } IfcIndexedColourMap::IfcIndexedColourMap(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedColourMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIndexedColourMap::IfcIndexedColourMap(IfcTessellatedFaceSet* v1_MappedTo, IfcSurfaceStyleShading* v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappedTo)); e->setArgument(1,(v2_Overrides)); e->setArgument(2,(v3_Colours)); e->setArgument(3,(v4_ColourIndex)); entity = e; EntityBuffer::Add(this); } +IfcIndexedColourMap::IfcIndexedColourMap(IfcTessellatedFaceSet* v1_MappedTo, boost::optional< IfcSurfaceStyleShading* > v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappedTo)); if (v2_Overrides) { e->setArgument(1,(*v2_Overrides)); } else { e->setArgument(1); } e->setArgument(2,(v3_Colours)); e->setArgument(3,(v4_ColourIndex)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIndexedTextureMap IfcTessellatedFaceSet* IfcIndexedTextureMap::MappedTo() const { return (IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcIndexedTextureMap::setMappedTo(IfcTessellatedFaceSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcIndexedTextureMap::MappedTo(IfcTessellatedFaceSet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTextureVertexList* IfcIndexedTextureMap::TexCoords() const { return (IfcTextureVertexList*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcIndexedTextureMap::setTexCoords(IfcTextureVertexList* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcIndexedTextureMap::TexCoords(IfcTextureVertexList* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcIndexedTextureMap::is(Type::Enum v) const { return v == Type::IfcIndexedTextureMap || IfcTextureCoordinate::is(v); } Type::Enum IfcIndexedTextureMap::type() const { return Type::IfcIndexedTextureMap; } Type::Enum IfcIndexedTextureMap::Class() { return Type::IfcIndexedTextureMap; } @@ -11397,63 +11115,56 @@ IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcAbstractEntity* e) IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords) : IfcIndexedTextureMap((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_MappedTo)); e->setArgument(2,(v3_TexCoords)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInterceptor -bool IfcInterceptor::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcInterceptorTypeEnum::IfcInterceptorTypeEnum IfcInterceptor::PredefinedType() const { return IfcInterceptorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcInterceptor::setPredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcInterceptorTypeEnum::ToString(v)); } +boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > IfcInterceptor::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcInterceptorTypeEnum::FromString(*arg); } } +void IfcInterceptor::PredefinedType(boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcInterceptorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcInterceptor::is(Type::Enum v) const { return v == Type::IfcInterceptor || IfcFlowTreatmentDevice::is(v); } Type::Enum IfcInterceptor::type() const { return Type::IfcInterceptor; } Type::Enum IfcInterceptor::Class() { return Type::IfcInterceptor; } IfcInterceptor::IfcInterceptor(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcInterceptorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcInterceptorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInterceptorType IfcInterceptorTypeEnum::IfcInterceptorTypeEnum IfcInterceptorType::PredefinedType() const { return IfcInterceptorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcInterceptorType::setPredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcInterceptorTypeEnum::ToString(v)); } +void IfcInterceptorType::PredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcInterceptorTypeEnum::ToString(v));; } bool IfcInterceptorType::is(Type::Enum v) const { return v == Type::IfcInterceptorType || IfcFlowTreatmentDeviceType::is(v); } Type::Enum IfcInterceptorType::type() const { return Type::IfcInterceptorType; } Type::Enum IfcInterceptorType::Class() { return Type::IfcInterceptorType; } IfcInterceptorType::IfcInterceptorType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcInterceptorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcInterceptorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInventory -bool IfcInventory::hasPredefinedType() const { return !entity->getArgument(5)->isNull(); } -IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::PredefinedType() const { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } -void IfcInventory::setPredefinedType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcInventoryTypeEnum::ToString(v)); } -bool IfcInventory::hasJurisdiction() const { return !entity->getArgument(6)->isNull(); } -IfcActorSelect* IfcInventory::Jurisdiction() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcInventory::setJurisdiction(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcInventory::hasResponsiblePersons() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcPerson >::ptr IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcInventory::hasLastUpdateDate() const { return !entity->getArgument(8)->isNull(); } -std::string IfcInventory::LastUpdateDate() const { return *entity->getArgument(8); } -void IfcInventory::setLastUpdateDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcInventory::hasCurrentValue() const { return !entity->getArgument(9)->isNull(); } -IfcCostValue* IfcInventory::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcInventory::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcInventory::hasOriginalValue() const { return !entity->getArgument(10)->isNull(); } -IfcCostValue* IfcInventory::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcInventory::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > IfcInventory::PredefinedType() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return IfcInventoryTypeEnum::FromString(*arg); } } +void IfcInventory::PredefinedType(boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v,IfcInventoryTypeEnum::ToString(*v));; } else { w->setArgument(5); } } +boost::optional< IfcActorSelect* > IfcInventory::Jurisdiction() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcInventory::Jurisdiction(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > IfcInventory::ResponsiblePersons() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcInventory::ResponsiblePersons(boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< std::string > IfcInventory::LastUpdateDate() const { return *entity->getArgument(8); } +void IfcInventory::LastUpdateDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcCostValue* > IfcInventory::CurrentValue() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcInventory::CurrentValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcCostValue* > IfcInventory::OriginalValue() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcInventory::OriginalValue(boost::optional< IfcCostValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcInventory::is(Type::Enum v) const { return v == Type::IfcInventory || IfcGroup::is(v); } Type::Enum IfcInventory::type() const { return Type::IfcInventory; } Type::Enum IfcInventory::Class() { return Type::IfcInventory; } IfcInventory::IfcInventory(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInventory::IfcInventory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, IfcActorSelect* v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcInventoryTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } e->setArgument(6,(v7_Jurisdiction)); if (v8_ResponsiblePersons) { e->setArgument(7,(*v8_ResponsiblePersons)->generalize()); } else { e->setArgument(7); } if (v9_LastUpdateDate) { e->setArgument(8,(*v9_LastUpdateDate)); } else { e->setArgument(8); } e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } +IfcInventory::IfcInventory(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect* > v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, boost::optional< IfcCostValue* > v10_CurrentValue, boost::optional< IfcCostValue* > v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcInventoryTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } if (v7_Jurisdiction) { e->setArgument(6,(*v7_Jurisdiction)); } else { e->setArgument(6); } if (v8_ResponsiblePersons) { e->setArgument(7,(*v8_ResponsiblePersons)->generalize()); } else { e->setArgument(7); } if (v9_LastUpdateDate) { e->setArgument(8,(*v9_LastUpdateDate)); } else { e->setArgument(8); } if (v10_CurrentValue) { e->setArgument(9,(*v10_CurrentValue)); } else { e->setArgument(9); } if (v11_OriginalValue) { e->setArgument(10,(*v11_OriginalValue)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeries IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr IfcIrregularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcIrregularTimeSeries::setValues(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +void IfcIrregularTimeSeries::Values(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v->generalize());; } bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeriesValue std::string IfcIrregularTimeSeriesValue::TimeStamp() const { return *entity->getArgument(0); } -void IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcIrregularTimeSeriesValue::TimeStamp(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcIrregularTimeSeriesValue::ListValues() const { return *entity->getArgument(1); } -void IfcIrregularTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcIrregularTimeSeriesValue::ListValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcIrregularTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::type() const { return Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::Class() { return Type::IfcIrregularTimeSeriesValue; } @@ -11461,71 +11172,65 @@ IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntity* e) : IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBox -bool IfcJunctionBox::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBox::PredefinedType() const { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(8)); } -void IfcJunctionBox::setPredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcJunctionBoxTypeEnum::ToString(v)); } +boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > IfcJunctionBox::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcJunctionBoxTypeEnum::FromString(*arg); } } +void IfcJunctionBox::PredefinedType(boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcJunctionBoxTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcJunctionBox::is(Type::Enum v) const { return v == Type::IfcJunctionBox || IfcFlowFitting::is(v); } Type::Enum IfcJunctionBox::type() const { return Type::IfcJunctionBox; } Type::Enum IfcJunctionBox::Class() { return Type::IfcJunctionBox; } IfcJunctionBox::IfcJunctionBox(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcJunctionBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcJunctionBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBoxType IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxType::PredefinedType() const { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(9)); } -void IfcJunctionBoxType::setPredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcJunctionBoxTypeEnum::ToString(v)); } +void IfcJunctionBoxType::PredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcJunctionBoxTypeEnum::ToString(v));; } bool IfcJunctionBoxType::is(Type::Enum v) const { return v == Type::IfcJunctionBoxType || IfcFlowFittingType::is(v); } Type::Enum IfcJunctionBoxType::type() const { return Type::IfcJunctionBoxType; } Type::Enum IfcJunctionBoxType::Class() { return Type::IfcJunctionBoxType; } IfcJunctionBoxType::IfcJunctionBoxType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLShapeProfileDef double IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcLShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLShapeProfileDef::hasWidth() const { return !entity->getArgument(4)->isNull(); } -double IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcLShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< double > IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } +void IfcLShapeProfileDef::Width(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } double IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } -void IfcLShapeProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcLShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(6)->isNull(); } -double IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } -void IfcLShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcLShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } -void IfcLShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcLShapeProfileDef::hasLegSlope() const { return !entity->getArgument(8)->isNull(); } -double IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } -void IfcLShapeProfileDef::setLegSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcLShapeProfileDef::Thickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< double > IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } +void IfcLShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } +void IfcLShapeProfileDef::EdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } +void IfcLShapeProfileDef::LegSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcLShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcLShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcLShapeProfileDef::type() const { return Type::IfcLShapeProfileDef; } Type::Enum IfcLShapeProfileDef::Class() { return Type::IfcLShapeProfileDef; } IfcLShapeProfileDef::IfcLShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResource -bool IfcLaborResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum IfcLaborResource::PredefinedType() const { return IfcLaborResourceTypeEnum::FromString(*entity->getArgument(10)); } -void IfcLaborResource::setPredefinedType(IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcLaborResourceTypeEnum::ToString(v)); } +boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > IfcLaborResource::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcLaborResourceTypeEnum::FromString(*arg); } } +void IfcLaborResource::PredefinedType(boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcLaborResourceTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcLaborResource::is(Type::Enum v) const { return v == Type::IfcLaborResource || IfcConstructionResource::is(v); } Type::Enum IfcLaborResource::type() const { return Type::IfcLaborResource; } Type::Enum IfcLaborResource::Class() { return Type::IfcLaborResource; } IfcLaborResource::IfcLaborResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResourceType IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum IfcLaborResourceType::PredefinedType() const { return IfcLaborResourceTypeEnum::FromString(*entity->getArgument(11)); } -void IfcLaborResourceType::setPredefinedType(IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcLaborResourceTypeEnum::ToString(v)); } +void IfcLaborResourceType::PredefinedType(IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcLaborResourceTypeEnum::ToString(v));; } bool IfcLaborResourceType::is(Type::Enum v) const { return v == Type::IfcLaborResourceType || IfcConstructionResourceType::is(v); } Type::Enum IfcLaborResourceType::type() const { return Type::IfcLaborResourceType; } Type::Enum IfcLaborResourceType::Class() { return Type::IfcLaborResourceType; } IfcLaborResourceType::IfcLaborResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcLaborResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcLaborResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLagTime IfcTimeOrRatioSelect* IfcLagTime::LagValue() const { return (IfcTimeOrRatioSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcLagTime::setLagValue(IfcTimeOrRatioSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcLagTime::LagValue(IfcTimeOrRatioSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcTaskDurationEnum::IfcTaskDurationEnum IfcLagTime::DurationType() const { return IfcTaskDurationEnum::FromString(*entity->getArgument(4)); } -void IfcLagTime::setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTaskDurationEnum::ToString(v)); } +void IfcLagTime::DurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcTaskDurationEnum::ToString(v));; } bool IfcLagTime::is(Type::Enum v) const { return v == Type::IfcLagTime || IfcSchedulingTime::is(v); } Type::Enum IfcLagTime::type() const { return Type::IfcLagTime; } Type::Enum IfcLagTime::Class() { return Type::IfcLagTime; } @@ -11533,74 +11238,65 @@ IfcLagTime::IfcLagTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEnt IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect* v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_LagValue)); e->setArgument(4,v5_DurationType,IfcTaskDurationEnum::ToString(v5_DurationType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLamp -bool IfcLamp::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcLampTypeEnum::IfcLampTypeEnum IfcLamp::PredefinedType() const { return IfcLampTypeEnum::FromString(*entity->getArgument(8)); } -void IfcLamp::setPredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLampTypeEnum::ToString(v)); } +boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > IfcLamp::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcLampTypeEnum::FromString(*arg); } } +void IfcLamp::PredefinedType(boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcLampTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcLamp::is(Type::Enum v) const { return v == Type::IfcLamp || IfcFlowTerminal::is(v); } Type::Enum IfcLamp::type() const { return Type::IfcLamp; } Type::Enum IfcLamp::Class() { return Type::IfcLamp; } IfcLamp::IfcLamp(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLamp::IfcLamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcLamp::IfcLamp(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLampType IfcLampTypeEnum::IfcLampTypeEnum IfcLampType::PredefinedType() const { return IfcLampTypeEnum::FromString(*entity->getArgument(9)); } -void IfcLampType::setPredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcLampTypeEnum::ToString(v)); } +void IfcLampType::PredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcLampTypeEnum::ToString(v));; } bool IfcLampType::is(Type::Enum v) const { return v == Type::IfcLampType || IfcFlowTerminalType::is(v); } Type::Enum IfcLampType::type() const { return Type::IfcLampType; } Type::Enum IfcLampType::Class() { return Type::IfcLampType; } IfcLampType::IfcLampType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLampType::IfcLampType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLampType::IfcLampType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryInformation std::string IfcLibraryInformation::Name() const { return *entity->getArgument(0); } -void IfcLibraryInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcLibraryInformation::hasVersion() const { return !entity->getArgument(1)->isNull(); } -std::string IfcLibraryInformation::Version() const { return *entity->getArgument(1); } -void IfcLibraryInformation::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLibraryInformation::hasPublisher() const { return !entity->getArgument(2)->isNull(); } -IfcActorSelect* IfcLibraryInformation::Publisher() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcLibraryInformation::setPublisher(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLibraryInformation::hasVersionDate() const { return !entity->getArgument(3)->isNull(); } -std::string IfcLibraryInformation::VersionDate() const { return *entity->getArgument(3); } -void IfcLibraryInformation::setVersionDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLibraryInformation::hasLocation() const { return !entity->getArgument(4)->isNull(); } -std::string IfcLibraryInformation::Location() const { return *entity->getArgument(4); } -void IfcLibraryInformation::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcLibraryInformation::hasDescription() const { return !entity->getArgument(5)->isNull(); } -std::string IfcLibraryInformation::Description() const { return *entity->getArgument(5); } -void IfcLibraryInformation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcLibraryInformation::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcLibraryInformation::Version() const { return *entity->getArgument(1); } +void IfcLibraryInformation::Version(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcActorSelect* > IfcLibraryInformation::Publisher() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLibraryInformation::Publisher(boost::optional< IfcActorSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcLibraryInformation::VersionDate() const { return *entity->getArgument(3); } +void IfcLibraryInformation::VersionDate(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcLibraryInformation::Location() const { return *entity->getArgument(4); } +void IfcLibraryInformation::Location(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcLibraryInformation::Description() const { return *entity->getArgument(5); } +void IfcLibraryInformation::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcRelAssociatesLibrary::list::ptr IfcLibraryInformation::LibraryInfoForObjects() const { return entity->getInverse(Type::IfcRelAssociatesLibrary, 5)->as(); } IfcLibraryReference::list::ptr IfcLibraryInformation::HasLibraryReferences() const { return entity->getInverse(Type::IfcLibraryReference, 5)->as(); } bool IfcLibraryInformation::is(Type::Enum v) const { return v == Type::IfcLibraryInformation || IfcExternalInformation::is(v); } Type::Enum IfcLibraryInformation::type() const { return Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::Class() { return Type::IfcLibraryInformation; } IfcLibraryInformation::IfcLibraryInformation(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } e->setArgument(2,(v3_Publisher)); if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_Location) { e->setArgument(4,(*v5_Location)); } else { e->setArgument(4); } if (v6_Description) { e->setArgument(5,(*v6_Description)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, boost::optional< IfcActorSelect* > v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } if (v3_Publisher) { e->setArgument(2,(*v3_Publisher)); } else { e->setArgument(2); } if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_Location) { e->setArgument(4,(*v5_Location)); } else { e->setArgument(4); } if (v6_Description) { e->setArgument(5,(*v6_Description)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryReference -bool IfcLibraryReference::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcLibraryReference::Description() const { return *entity->getArgument(3); } -void IfcLibraryReference::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLibraryReference::hasLanguage() const { return !entity->getArgument(4)->isNull(); } -std::string IfcLibraryReference::Language() const { return *entity->getArgument(4); } -void IfcLibraryReference::setLanguage(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcLibraryReference::hasReferencedLibrary() const { return !entity->getArgument(5)->isNull(); } -IfcLibraryInformation* IfcLibraryReference::ReferencedLibrary() const { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcLibraryReference::setReferencedLibrary(IfcLibraryInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< std::string > IfcLibraryReference::Description() const { return *entity->getArgument(3); } +void IfcLibraryReference::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcLibraryReference::Language() const { return *entity->getArgument(4); } +void IfcLibraryReference::Language(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcLibraryInformation* > IfcLibraryReference::ReferencedLibrary() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLibraryReference::ReferencedLibrary(boost::optional< IfcLibraryInformation* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcRelAssociatesLibrary::list::ptr IfcLibraryReference::LibraryRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesLibrary, 5)->as(); } bool IfcLibraryReference::is(Type::Enum v) const { return v == Type::IfcLibraryReference || IfcExternalReference::is(v); } Type::Enum IfcLibraryReference::type() const { return Type::IfcLibraryReference; } Type::Enum IfcLibraryReference::Class() { return Type::IfcLibraryReference; } IfcLibraryReference::IfcLibraryReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Language) { e->setArgument(4,(*v5_Language)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferencedLibrary)); entity = e; EntityBuffer::Add(this); } +IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, boost::optional< IfcLibraryInformation* > v6_ReferencedLibrary) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Language) { e->setArgument(4,(*v5_Language)); } else { e->setArgument(4); } if (v6_ReferencedLibrary) { e->setArgument(5,(*v6_ReferencedLibrary)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightDistributionData double IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } -void IfcLightDistributionData::setMainPlaneAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcLightDistributionData::MainPlaneAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::vector< double > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } -void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcLightDistributionData::SecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } std::vector< double > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } -void IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcLightDistributionData::LuminousIntensity(std::vector< double > /*[1:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcLightDistributionData::is(Type::Enum v) const { return v == Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::type() const { return Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::Class() { return Type::IfcLightDistributionData; } @@ -11608,29 +11304,28 @@ IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntity* e) : IfcUt IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixture -bool IfcLightFixture::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixture::PredefinedType() const { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(8)); } -void IfcLightFixture::setPredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightFixtureTypeEnum::ToString(v)); } +boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > IfcLightFixture::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcLightFixtureTypeEnum::FromString(*arg); } } +void IfcLightFixture::PredefinedType(boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcLightFixtureTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcLightFixture::is(Type::Enum v) const { return v == Type::IfcLightFixture || IfcFlowTerminal::is(v); } Type::Enum IfcLightFixture::type() const { return Type::IfcLightFixture; } Type::Enum IfcLightFixture::Class() { return Type::IfcLightFixture; } IfcLightFixture::IfcLightFixture(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLightFixtureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLightFixtureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixtureType IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureType::PredefinedType() const { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(9)); } -void IfcLightFixtureType::setPredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcLightFixtureTypeEnum::ToString(v)); } +void IfcLightFixtureType::PredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcLightFixtureTypeEnum::ToString(v));; } bool IfcLightFixtureType::is(Type::Enum v) const { return v == Type::IfcLightFixtureType || IfcFlowTerminalType::is(v); } Type::Enum IfcLightFixtureType::type() const { return Type::IfcLightFixtureType; } Type::Enum IfcLightFixtureType::Class() { return Type::IfcLightFixtureType; } IfcLightFixtureType::IfcLightFixtureType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightIntensityDistribution IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() const { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } -void IfcLightIntensityDistribution::setLightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcLightDistributionCurveEnum::ToString(v)); } +void IfcLightIntensityDistribution::LightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcLightDistributionCurveEnum::ToString(v));; } IfcTemplatedEntityList< IfcLightDistributionData >::ptr IfcLightIntensityDistribution::DistributionData() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcLightIntensityDistribution::setDistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcLightIntensityDistribution::DistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcLightIntensityDistribution::is(Type::Enum v) const { return v == Type::IfcLightIntensityDistribution; } Type::Enum IfcLightIntensityDistribution::type() const { return Type::IfcLightIntensityDistribution; } Type::Enum IfcLightIntensityDistribution::Class() { return Type::IfcLightIntensityDistribution; } @@ -11638,17 +11333,14 @@ IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcAbstractEntity* IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, IfcTemplatedEntityList< IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_LightDistributionCurve,IfcLightDistributionCurveEnum::ToString(v1_LightDistributionCurve)); e->setArgument(1,(v2_DistributionData)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSource -bool IfcLightSource::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcLightSource::Name() const { return *entity->getArgument(0); } -void IfcLightSource::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcLightSource::Name() const { return *entity->getArgument(0); } +void IfcLightSource::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcColourRgb* IfcLightSource::LightColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcLightSource::setLightColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLightSource::hasAmbientIntensity() const { return !entity->getArgument(2)->isNull(); } -double IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } -void IfcLightSource::setAmbientIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLightSource::hasIntensity() const { return !entity->getArgument(3)->isNull(); } -double IfcLightSource::Intensity() const { return *entity->getArgument(3); } -void IfcLightSource::setIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcLightSource::LightColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< double > IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } +void IfcLightSource::AmbientIntensity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcLightSource::Intensity() const { return *entity->getArgument(3); } +void IfcLightSource::Intensity(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcLightSource::is(Type::Enum v) const { return v == Type::IfcLightSource || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcLightSource::type() const { return Type::IfcLightSource; } Type::Enum IfcLightSource::Class() { return Type::IfcLightSource; } @@ -11664,7 +11356,7 @@ IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_N // Function implementations for IfcLightSourceDirectional IfcDirection* IfcLightSourceDirectional::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcLightSourceDirectional::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLightSourceDirectional::Orientation(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcLightSourceDirectional::is(Type::Enum v) const { return v == Type::IfcLightSourceDirectional || IfcLightSource::is(v); } Type::Enum IfcLightSourceDirectional::type() const { return Type::IfcLightSourceDirectional; } Type::Enum IfcLightSourceDirectional::Class() { return Type::IfcLightSourceDirectional; } @@ -11673,35 +11365,34 @@ IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::strin // Function implementations for IfcLightSourceGoniometric IfcAxis2Placement3D* IfcLightSourceGoniometric::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcLightSourceGoniometric::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcLightSourceGoniometric::hasColourAppearance() const { return !entity->getArgument(5)->isNull(); } -IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcLightSourceGoniometric::setColourAppearance(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcLightSourceGoniometric::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< IfcColourRgb* > IfcLightSourceGoniometric::ColourAppearance() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLightSourceGoniometric::ColourAppearance(boost::optional< IfcColourRgb* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } double IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } -void IfcLightSourceGoniometric::setColourTemperature(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcLightSourceGoniometric::ColourTemperature(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } double IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } -void IfcLightSourceGoniometric::setLuminousFlux(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcLightSourceGoniometric::LuminousFlux(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() const { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } -void IfcLightSourceGoniometric::setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v)); } +void IfcLightSourceGoniometric::LightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v));; } IfcLightDistributionDataSourceSelect* IfcLightSourceGoniometric::LightDistributionDataSource() const { return (IfcLightDistributionDataSourceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcLightSourceGoniometric::LightDistributionDataSource(IfcLightDistributionDataSourceSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } bool IfcLightSourceGoniometric::is(Type::Enum v) const { return v == Type::IfcLightSourceGoniometric || IfcLightSource::is(v); } Type::Enum IfcLightSourceGoniometric::type() const { return Type::IfcLightSourceGoniometric; } Type::Enum IfcLightSourceGoniometric::Class() { return Type::IfcLightSourceGoniometric; } IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, boost::optional< IfcColourRgb* > v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); if (v6_ColourAppearance) { e->setArgument(5,(*v6_ColourAppearance)); } else { e->setArgument(5); } e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourcePositional IfcCartesianPoint* IfcLightSourcePositional::Position() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcLightSourcePositional::setPosition(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcLightSourcePositional::Position(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } -void IfcLightSourcePositional::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcLightSourcePositional::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } -void IfcLightSourcePositional::setConstantAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcLightSourcePositional::ConstantAttenuation(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } double IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } -void IfcLightSourcePositional::setDistanceAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcLightSourcePositional::DistanceAttenuation(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } double IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } -void IfcLightSourcePositional::setQuadricAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcLightSourcePositional::QuadricAttenuation(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcLightSourcePositional::is(Type::Enum v) const { return v == Type::IfcLightSourcePositional || IfcLightSource::is(v); } Type::Enum IfcLightSourcePositional::type() const { return Type::IfcLightSourcePositional; } Type::Enum IfcLightSourcePositional::Class() { return Type::IfcLightSourcePositional; } @@ -11710,14 +11401,13 @@ IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string // Function implementations for IfcLightSourceSpot IfcDirection* IfcLightSourceSpot::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcLightSourceSpot::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcLightSourceSpot::hasConcentrationExponent() const { return !entity->getArgument(10)->isNull(); } -double IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } -void IfcLightSourceSpot::setConcentrationExponent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcLightSourceSpot::Orientation(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } +boost::optional< double > IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } +void IfcLightSourceSpot::ConcentrationExponent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } double IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } -void IfcLightSourceSpot::setSpreadAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcLightSourceSpot::SpreadAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } double IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } -void IfcLightSourceSpot::setBeamWidthAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcLightSourceSpot::BeamWidthAngle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(12,v); } bool IfcLightSourceSpot::is(Type::Enum v) const { return v == Type::IfcLightSourceSpot || IfcLightSourcePositional::is(v); } Type::Enum IfcLightSourceSpot::type() const { return Type::IfcLightSourceSpot; } Type::Enum IfcLightSourceSpot::Class() { return Type::IfcLightSourceSpot; } @@ -11726,9 +11416,9 @@ IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, I // Function implementations for IfcLine IfcCartesianPoint* IfcLine::Pnt() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcLine::setPnt(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcLine::Pnt(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcVector* IfcLine::Dir() const { return (IfcVector*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcLine::setDir(IfcVector* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcLine::Dir(IfcVector* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcLine::is(Type::Enum v) const { return v == Type::IfcLine || IfcCurve::is(v); } Type::Enum IfcLine::type() const { return Type::IfcLine; } Type::Enum IfcLine::Class() { return Type::IfcLine; } @@ -11736,16 +11426,15 @@ IfcLine::IfcLine(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (! IfcLine::IfcLine(IfcCartesianPoint* v1_Pnt, IfcVector* v2_Dir) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Pnt)); e->setArgument(1,(v2_Dir)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLocalPlacement -bool IfcLocalPlacement::hasPlacementRelTo() const { return !entity->getArgument(0)->isNull(); } -IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcLocalPlacement::setPlacementRelTo(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< IfcObjectPlacement* > IfcLocalPlacement::PlacementRelTo() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcLocalPlacement::PlacementRelTo(boost::optional< IfcObjectPlacement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcAxis2Placement* IfcLocalPlacement::RelativePlacement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcLocalPlacement::RelativePlacement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcLocalPlacement::is(Type::Enum v) const { return v == Type::IfcLocalPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcLocalPlacement::type() const { return Type::IfcLocalPlacement; } Type::Enum IfcLocalPlacement::Class() { return Type::IfcLocalPlacement; } IfcLocalPlacement::IfcLocalPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLocalPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLocalPlacement::IfcLocalPlacement(IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } +IfcLocalPlacement::IfcLocalPlacement(boost::optional< IfcObjectPlacement* > v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_PlacementRelTo) { e->setArgument(0,(*v1_PlacementRelTo)); } else { e->setArgument(0); } e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLoop bool IfcLoop::is(Type::Enum v) const { return v == Type::IfcLoop || IfcTopologicalRepresentationItem::is(v); } @@ -11756,7 +11445,7 @@ IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcManifoldSolidBrep IfcClosedShell* IfcManifoldSolidBrep::Outer() const { return (IfcClosedShell*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcManifoldSolidBrep::setOuter(IfcClosedShell* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcManifoldSolidBrep::Outer(IfcClosedShell* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcManifoldSolidBrep::is(Type::Enum v) const { return v == Type::IfcManifoldSolidBrep || IfcSolidModel::is(v); } Type::Enum IfcManifoldSolidBrep::type() const { return Type::IfcManifoldSolidBrep; } Type::Enum IfcManifoldSolidBrep::Class() { return Type::IfcManifoldSolidBrep; } @@ -11765,20 +11454,17 @@ IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidM // Function implementations for IfcMapConversion double IfcMapConversion::Eastings() const { return *entity->getArgument(2); } -void IfcMapConversion::setEastings(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcMapConversion::Eastings(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcMapConversion::Northings() const { return *entity->getArgument(3); } -void IfcMapConversion::setNorthings(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcMapConversion::Northings(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcMapConversion::OrthogonalHeight() const { return *entity->getArgument(4); } -void IfcMapConversion::setOrthogonalHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMapConversion::hasXAxisAbscissa() const { return !entity->getArgument(5)->isNull(); } -double IfcMapConversion::XAxisAbscissa() const { return *entity->getArgument(5); } -void IfcMapConversion::setXAxisAbscissa(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcMapConversion::hasXAxisOrdinate() const { return !entity->getArgument(6)->isNull(); } -double IfcMapConversion::XAxisOrdinate() const { return *entity->getArgument(6); } -void IfcMapConversion::setXAxisOrdinate(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcMapConversion::hasScale() const { return !entity->getArgument(7)->isNull(); } -double IfcMapConversion::Scale() const { return *entity->getArgument(7); } -void IfcMapConversion::setScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcMapConversion::OrthogonalHeight(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } +boost::optional< double > IfcMapConversion::XAxisAbscissa() const { return *entity->getArgument(5); } +void IfcMapConversion::XAxisAbscissa(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcMapConversion::XAxisOrdinate() const { return *entity->getArgument(6); } +void IfcMapConversion::XAxisOrdinate(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcMapConversion::Scale() const { return *entity->getArgument(7); } +void IfcMapConversion::Scale(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcMapConversion::is(Type::Enum v) const { return v == Type::IfcMapConversion || IfcCoordinateOperation::is(v); } Type::Enum IfcMapConversion::type() const { return Type::IfcMapConversion; } Type::Enum IfcMapConversion::Class() { return Type::IfcMapConversion; } @@ -11787,9 +11473,9 @@ IfcMapConversion::IfcMapConversion(IfcCoordinateReferenceSystemSelect* v1_Source // Function implementations for IfcMappedItem IfcRepresentationMap* IfcMappedItem::MappingSource() const { return (IfcRepresentationMap*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMappedItem::setMappingSource(IfcRepresentationMap* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMappedItem::MappingSource(IfcRepresentationMap* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCartesianTransformationOperator* IfcMappedItem::MappingTarget() const { return (IfcCartesianTransformationOperator*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcMappedItem::setMappingTarget(IfcCartesianTransformationOperator* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMappedItem::MappingTarget(IfcCartesianTransformationOperator* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcMappedItem::is(Type::Enum v) const { return v == Type::IfcMappedItem || IfcRepresentationItem::is(v); } Type::Enum IfcMappedItem::type() const { return Type::IfcMappedItem; } Type::Enum IfcMappedItem::Class() { return Type::IfcMappedItem; } @@ -11798,13 +11484,11 @@ IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesia // Function implementations for IfcMaterial std::string IfcMaterial::Name() const { return *entity->getArgument(0); } -void IfcMaterial::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterial::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterial::Description() const { return *entity->getArgument(1); } -void IfcMaterial::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterial::hasCategory() const { return !entity->getArgument(2)->isNull(); } -std::string IfcMaterial::Category() const { return *entity->getArgument(2); } -void IfcMaterial::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcMaterial::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcMaterial::Description() const { return *entity->getArgument(1); } +void IfcMaterial::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcMaterial::Category() const { return *entity->getArgument(2); } +void IfcMaterial::Category(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return entity->getInverse(Type::IfcMaterialDefinitionRepresentation, 3)->as(); } IfcMaterialRelationship::list::ptr IfcMaterial::IsRelatedWith() const { return entity->getInverse(Type::IfcMaterialRelationship, 3)->as(); } IfcMaterialRelationship::list::ptr IfcMaterial::RelatesTo() const { return entity->getInverse(Type::IfcMaterialRelationship, 2)->as(); } @@ -11816,9 +11500,9 @@ IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_ // Function implementations for IfcMaterialClassificationRelationship IfcEntityList::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { return *entity->getArgument(0); } -void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMaterialClassificationRelationship::MaterialClassifications(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcMaterialClassificationRelationship::setClassifiedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMaterialClassificationRelationship::ClassifiedMaterial(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::type() const { return Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::Class() { return Type::IfcMaterialClassificationRelationship; } @@ -11826,20 +11510,16 @@ IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(Ifc IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityList::ptr v1_MaterialClassifications, IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialClassifications)); e->setArgument(1,(v2_ClassifiedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialConstituent -bool IfcMaterialConstituent::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcMaterialConstituent::Name() const { return *entity->getArgument(0); } -void IfcMaterialConstituent::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialConstituent::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterialConstituent::Description() const { return *entity->getArgument(1); } -void IfcMaterialConstituent::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcMaterialConstituent::Name() const { return *entity->getArgument(0); } +void IfcMaterialConstituent::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcMaterialConstituent::Description() const { return *entity->getArgument(1); } +void IfcMaterialConstituent::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcMaterial* IfcMaterialConstituent::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcMaterialConstituent::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcMaterialConstituent::hasFraction() const { return !entity->getArgument(3)->isNull(); } -double IfcMaterialConstituent::Fraction() const { return *entity->getArgument(3); } -void IfcMaterialConstituent::setFraction(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialConstituent::hasCategory() const { return !entity->getArgument(4)->isNull(); } -std::string IfcMaterialConstituent::Category() const { return *entity->getArgument(4); } -void IfcMaterialConstituent::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcMaterialConstituent::Material(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcMaterialConstituent::Fraction() const { return *entity->getArgument(3); } +void IfcMaterialConstituent::Fraction(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcMaterialConstituent::Category() const { return *entity->getArgument(4); } +void IfcMaterialConstituent::Category(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcMaterialConstituentSet::list::ptr IfcMaterialConstituent::ToMaterialConstituentSet() const { return entity->getInverse(Type::IfcMaterialConstituentSet, 2)->as(); } bool IfcMaterialConstituent::is(Type::Enum v) const { return v == Type::IfcMaterialConstituent || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialConstituent::type() const { return Type::IfcMaterialConstituent; } @@ -11848,15 +11528,12 @@ IfcMaterialConstituent::IfcMaterialConstituent(IfcAbstractEntity* e) : IfcMateri IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); if (v4_Fraction) { e->setArgument(3,(*v4_Fraction)); } else { e->setArgument(3); } if (v5_Category) { e->setArgument(4,(*v5_Category)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialConstituentSet -bool IfcMaterialConstituentSet::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcMaterialConstituentSet::Name() const { return *entity->getArgument(0); } -void IfcMaterialConstituentSet::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialConstituentSet::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterialConstituentSet::Description() const { return *entity->getArgument(1); } -void IfcMaterialConstituentSet::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialConstituentSet::hasMaterialConstituents() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcMaterialConstituent >::ptr IfcMaterialConstituentSet::MaterialConstituents() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcMaterialConstituentSet::setMaterialConstituents(IfcTemplatedEntityList< IfcMaterialConstituent >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +boost::optional< std::string > IfcMaterialConstituentSet::Name() const { return *entity->getArgument(0); } +void IfcMaterialConstituentSet::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcMaterialConstituentSet::Description() const { return *entity->getArgument(1); } +void IfcMaterialConstituentSet::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > IfcMaterialConstituentSet::MaterialConstituents() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcMaterialConstituentSet::MaterialConstituents(boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,(*v)->generalize());; } else { w->setArgument(2); } } bool IfcMaterialConstituentSet::is(Type::Enum v) const { return v == Type::IfcMaterialConstituentSet || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialConstituentSet::type() const { return Type::IfcMaterialConstituentSet; } Type::Enum IfcMaterialConstituentSet::Class() { return Type::IfcMaterialConstituentSet; } @@ -11875,7 +11552,7 @@ IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() { IfcW // Function implementations for IfcMaterialDefinitionRepresentation IfcMaterial* IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcMaterialDefinitionRepresentation::setRepresentedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcMaterialDefinitionRepresentation::RepresentedMaterial(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcMaterialDefinitionRepresentation::is(Type::Enum v) const { return v == Type::IfcMaterialDefinitionRepresentation || IfcProductRepresentation::is(v); } Type::Enum IfcMaterialDefinitionRepresentation::type() const { return Type::IfcMaterialDefinitionRepresentation; } Type::Enum IfcMaterialDefinitionRepresentation::Class() { return Type::IfcMaterialDefinitionRepresentation; } @@ -11883,42 +11560,34 @@ IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbst IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayer -bool IfcMaterialLayer::hasMaterial() const { return !entity->getArgument(0)->isNull(); } -IfcMaterial* IfcMaterialLayer::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMaterialLayer::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< IfcMaterial* > IfcMaterialLayer::Material() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcMaterialLayer::Material(boost::optional< IfcMaterial* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } double IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } -void IfcMaterialLayer::setLayerThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialLayer::hasIsVentilated() const { return !entity->getArgument(2)->isNull(); } -bool IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } -void IfcMaterialLayer::setIsVentilated(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcMaterialLayer::hasName() const { return !entity->getArgument(3)->isNull(); } -std::string IfcMaterialLayer::Name() const { return *entity->getArgument(3); } -void IfcMaterialLayer::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialLayer::hasDescription() const { return !entity->getArgument(4)->isNull(); } -std::string IfcMaterialLayer::Description() const { return *entity->getArgument(4); } -void IfcMaterialLayer::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMaterialLayer::hasCategory() const { return !entity->getArgument(5)->isNull(); } -std::string IfcMaterialLayer::Category() const { return *entity->getArgument(5); } -void IfcMaterialLayer::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcMaterialLayer::hasPriority() const { return !entity->getArgument(6)->isNull(); } -double IfcMaterialLayer::Priority() const { return *entity->getArgument(6); } -void IfcMaterialLayer::setPriority(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcMaterialLayer::LayerThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< bool > IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } +void IfcMaterialLayer::IsVentilated(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcMaterialLayer::Name() const { return *entity->getArgument(3); } +void IfcMaterialLayer::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcMaterialLayer::Description() const { return *entity->getArgument(4); } +void IfcMaterialLayer::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcMaterialLayer::Category() const { return *entity->getArgument(5); } +void IfcMaterialLayer::Category(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcMaterialLayer::Priority() const { return *entity->getArgument(6); } +void IfcMaterialLayer::Priority(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return entity->getInverse(Type::IfcMaterialLayerSet, 0)->as(); } bool IfcMaterialLayer::is(Type::Enum v) const { return v == Type::IfcMaterialLayer || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayer::IfcMaterialLayer(boost::optional< IfcMaterial* > v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Material) { e->setArgument(0,(*v1_Material)); } else { e->setArgument(0); } e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSet IfcTemplatedEntityList< IfcMaterialLayer >::ptr IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcMaterialLayerSet::hasLayerSetName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } -void IfcMaterialLayerSet::setLayerSetName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialLayerSet::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcMaterialLayerSet::Description() const { return *entity->getArgument(2); } -void IfcMaterialLayerSet::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcMaterialLayerSet::MaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } +boost::optional< std::string > IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } +void IfcMaterialLayerSet::LayerSetName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcMaterialLayerSet::Description() const { return *entity->getArgument(2); } +void IfcMaterialLayerSet::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialLayerSet::type() const { return Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::Class() { return Type::IfcMaterialLayerSet; } @@ -11927,16 +11596,15 @@ IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLaye // Function implementations for IfcMaterialLayerSetUsage IfcMaterialLayerSet* IfcMaterialLayerSetUsage::ForLayerSet() const { return (IfcMaterialLayerSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMaterialLayerSetUsage::setForLayerSet(IfcMaterialLayerSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMaterialLayerSetUsage::ForLayerSet(IfcMaterialLayerSet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerSetUsage::LayerSetDirection() const { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(1)); } -void IfcMaterialLayerSetUsage::setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcLayerSetDirectionEnum::ToString(v)); } +void IfcMaterialLayerSetUsage::LayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcLayerSetDirectionEnum::ToString(v));; } IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() const { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } -void IfcMaterialLayerSetUsage::setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcDirectionSenseEnum::ToString(v)); } +void IfcMaterialLayerSetUsage::DirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcDirectionSenseEnum::ToString(v));; } double IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } -void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialLayerSetUsage::hasReferenceExtent() const { return !entity->getArgument(4)->isNull(); } -double IfcMaterialLayerSetUsage::ReferenceExtent() const { return *entity->getArgument(4); } -void IfcMaterialLayerSetUsage::setReferenceExtent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcMaterialLayerSetUsage::OffsetFromReferenceLine(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< double > IfcMaterialLayerSetUsage::ReferenceExtent() const { return *entity->getArgument(4); } +void IfcMaterialLayerSetUsage::ReferenceExtent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcMaterialLayerSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSetUsage || IfcMaterialUsageDefinition::is(v); } Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } @@ -11945,18 +11613,18 @@ IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLa // Function implementations for IfcMaterialLayerWithOffsets IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerWithOffsets::OffsetDirection() const { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(7)); } -void IfcMaterialLayerWithOffsets::setOffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcLayerSetDirectionEnum::ToString(v)); } +void IfcMaterialLayerWithOffsets::OffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcLayerSetDirectionEnum::ToString(v));; } std::vector< double > /*[1:2]*/ IfcMaterialLayerWithOffsets::OffsetValues() const { return *entity->getArgument(8); } -void IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcMaterialLayerWithOffsets::OffsetValues(std::vector< double > /*[1:2]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcMaterialLayerWithOffsets::is(Type::Enum v) const { return v == Type::IfcMaterialLayerWithOffsets || IfcMaterialLayer::is(v); } Type::Enum IfcMaterialLayerWithOffsets::type() const { return Type::IfcMaterialLayerWithOffsets; } Type::Enum IfcMaterialLayerWithOffsets::Class() { return Type::IfcMaterialLayerWithOffsets; } IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcAbstractEntity* e) : IfcMaterialLayer((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } e->setArgument(7,v8_OffsetDirection,IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection)); e->setArgument(8,(v9_OffsetValues)); entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(boost::optional< IfcMaterial* > v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Material) { e->setArgument(0,(*v1_Material)); } else { e->setArgument(0); } e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } e->setArgument(7,v8_OffsetDirection,IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection)); e->setArgument(8,(v9_OffsetValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialList IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialList::Materials() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcMaterialList::setMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcMaterialList::Materials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcMaterialList::is(Type::Enum v) const { return v == Type::IfcMaterialList; } Type::Enum IfcMaterialList::type() const { return Type::IfcMaterialList; } Type::Enum IfcMaterialList::Class() { return Type::IfcMaterialList; } @@ -11964,57 +11632,47 @@ IfcMaterialList::IfcMaterialList(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity( IfcMaterialList::IfcMaterialList(IfcTemplatedEntityList< IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Materials)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfile -bool IfcMaterialProfile::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcMaterialProfile::Name() const { return *entity->getArgument(0); } -void IfcMaterialProfile::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialProfile::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterialProfile::Description() const { return *entity->getArgument(1); } -void IfcMaterialProfile::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialProfile::hasMaterial() const { return !entity->getArgument(2)->isNull(); } -IfcMaterial* IfcMaterialProfile::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcMaterialProfile::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcMaterialProfile::Name() const { return *entity->getArgument(0); } +void IfcMaterialProfile::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcMaterialProfile::Description() const { return *entity->getArgument(1); } +void IfcMaterialProfile::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcMaterial* > IfcMaterialProfile::Material() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcMaterialProfile::Material(boost::optional< IfcMaterial* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcProfileDef* IfcMaterialProfile::Profile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcMaterialProfile::setProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialProfile::hasPriority() const { return !entity->getArgument(4)->isNull(); } -double IfcMaterialProfile::Priority() const { return *entity->getArgument(4); } -void IfcMaterialProfile::setPriority(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMaterialProfile::hasCategory() const { return !entity->getArgument(5)->isNull(); } -std::string IfcMaterialProfile::Category() const { return *entity->getArgument(5); } -void IfcMaterialProfile::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcMaterialProfile::Profile(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< double > IfcMaterialProfile::Priority() const { return *entity->getArgument(4); } +void IfcMaterialProfile::Priority(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcMaterialProfile::Category() const { return *entity->getArgument(5); } +void IfcMaterialProfile::Category(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcMaterialProfileSet::list::ptr IfcMaterialProfile::ToMaterialProfileSet() const { return entity->getInverse(Type::IfcMaterialProfileSet, 2)->as(); } bool IfcMaterialProfile::is(Type::Enum v) const { return v == Type::IfcMaterialProfile || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialProfile::type() const { return Type::IfcMaterialProfile; } Type::Enum IfcMaterialProfile::Class() { return Type::IfcMaterialProfile; } IfcMaterialProfile::IfcMaterialProfile(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcMaterial* > v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Material) { e->setArgument(2,(*v3_Material)); } else { e->setArgument(2); } e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSet -bool IfcMaterialProfileSet::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcMaterialProfileSet::Name() const { return *entity->getArgument(0); } -void IfcMaterialProfileSet::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialProfileSet::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcMaterialProfileSet::Description() const { return *entity->getArgument(1); } -void IfcMaterialProfileSet::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcMaterialProfileSet::Name() const { return *entity->getArgument(0); } +void IfcMaterialProfileSet::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcMaterialProfileSet::Description() const { return *entity->getArgument(1); } +void IfcMaterialProfileSet::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcTemplatedEntityList< IfcMaterialProfile >::ptr IfcMaterialProfileSet::MaterialProfiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcMaterialProfileSet::setMaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcMaterialProfileSet::hasCompositeProfile() const { return !entity->getArgument(3)->isNull(); } -IfcCompositeProfileDef* IfcMaterialProfileSet::CompositeProfile() const { return (IfcCompositeProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcMaterialProfileSet::setCompositeProfile(IfcCompositeProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcMaterialProfileSet::MaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } +boost::optional< IfcCompositeProfileDef* > IfcMaterialProfileSet::CompositeProfile() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCompositeProfileDef*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcMaterialProfileSet::CompositeProfile(boost::optional< IfcCompositeProfileDef* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcMaterialProfileSet::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSet || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialProfileSet::type() const { return Type::IfcMaterialProfileSet; } Type::Enum IfcMaterialProfileSet::Class() { return Type::IfcMaterialProfileSet; } IfcMaterialProfileSet::IfcMaterialProfileSet(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_MaterialProfiles)->generalize()); e->setArgument(3,(v4_CompositeProfile)); entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, boost::optional< IfcCompositeProfileDef* > v4_CompositeProfile) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_MaterialProfiles)->generalize()); if (v4_CompositeProfile) { e->setArgument(3,(*v4_CompositeProfile)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSetUsage IfcMaterialProfileSet* IfcMaterialProfileSetUsage::ForProfileSet() const { return (IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMaterialProfileSetUsage::setForProfileSet(IfcMaterialProfileSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialProfileSetUsage::hasCardinalPoint() const { return !entity->getArgument(1)->isNull(); } -int IfcMaterialProfileSetUsage::CardinalPoint() const { return *entity->getArgument(1); } -void IfcMaterialProfileSetUsage::setCardinalPoint(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialProfileSetUsage::hasReferenceExtent() const { return !entity->getArgument(2)->isNull(); } -double IfcMaterialProfileSetUsage::ReferenceExtent() const { return *entity->getArgument(2); } -void IfcMaterialProfileSetUsage::setReferenceExtent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcMaterialProfileSetUsage::ForProfileSet(IfcMaterialProfileSet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< int > IfcMaterialProfileSetUsage::CardinalPoint() const { return *entity->getArgument(1); } +void IfcMaterialProfileSetUsage::CardinalPoint(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcMaterialProfileSetUsage::ReferenceExtent() const { return *entity->getArgument(2); } +void IfcMaterialProfileSetUsage::ReferenceExtent(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcMaterialProfileSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSetUsage || IfcMaterialUsageDefinition::is(v); } Type::Enum IfcMaterialProfileSetUsage::type() const { return Type::IfcMaterialProfileSetUsage; } Type::Enum IfcMaterialProfileSetUsage::Class() { return Type::IfcMaterialProfileSetUsage; } @@ -12023,10 +11681,9 @@ IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcMaterialProfileSet* v1 // Function implementations for IfcMaterialProfileSetUsageTapering IfcMaterialProfileSet* IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return (IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcMaterialProfileSetUsageTapering::setForProfileEndSet(IfcMaterialProfileSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialProfileSetUsageTapering::hasCardinalEndPoint() const { return !entity->getArgument(4)->isNull(); } -int IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { return *entity->getArgument(4); } -void IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcMaterialProfileSetUsageTapering::ForProfileEndSet(IfcMaterialProfileSet* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< int > IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { return *entity->getArgument(4); } +void IfcMaterialProfileSetUsageTapering::CardinalEndPoint(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcMaterialProfileSetUsageTapering::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSetUsageTapering || IfcMaterialProfileSetUsage::is(v); } Type::Enum IfcMaterialProfileSetUsageTapering::type() const { return Type::IfcMaterialProfileSetUsageTapering; } Type::Enum IfcMaterialProfileSetUsageTapering::Class() { return Type::IfcMaterialProfileSetUsageTapering; } @@ -12035,16 +11692,16 @@ IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcMateri // Function implementations for IfcMaterialProfileWithOffsets std::vector< double > /*[1:2]*/ IfcMaterialProfileWithOffsets::OffsetValues() const { return *entity->getArgument(6); } -void IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcMaterialProfileWithOffsets::OffsetValues(std::vector< double > /*[1:2]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcMaterialProfileWithOffsets::is(Type::Enum v) const { return v == Type::IfcMaterialProfileWithOffsets || IfcMaterialProfile::is(v); } Type::Enum IfcMaterialProfileWithOffsets::type() const { return Type::IfcMaterialProfileWithOffsets; } Type::Enum IfcMaterialProfileWithOffsets::Class() { return Type::IfcMaterialProfileWithOffsets; } IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcAbstractEntity* e) : IfcMaterialProfile((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } e->setArgument(6,(v7_OffsetValues)); entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcMaterial* > v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Material) { e->setArgument(2,(*v3_Material)); } else { e->setArgument(2); } e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } e->setArgument(6,(v7_OffsetValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProperties IfcMaterialDefinition* IfcMaterialProperties::Material() const { return (IfcMaterialDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcMaterialProperties::setMaterial(IfcMaterialDefinition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcMaterialProperties::Material(IfcMaterialDefinition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMaterialProperties || IfcExtendedProperties::is(v); } Type::Enum IfcMaterialProperties::type() const { return Type::IfcMaterialProperties; } Type::Enum IfcMaterialProperties::Class() { return Type::IfcMaterialProperties; } @@ -12053,12 +11710,11 @@ IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_N // Function implementations for IfcMaterialRelationship IfcMaterial* IfcMaterialRelationship::RelatingMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcMaterialRelationship::setRelatingMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcMaterialRelationship::RelatingMaterial(IfcMaterial* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialRelationship::RelatedMaterials() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcMaterialRelationship::setRelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcMaterialRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } -std::string IfcMaterialRelationship::Expression() const { return *entity->getArgument(4); } -void IfcMaterialRelationship::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcMaterialRelationship::RelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } +boost::optional< std::string > IfcMaterialRelationship::Expression() const { return *entity->getArgument(4); } +void IfcMaterialRelationship::Expression(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcMaterialRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcMaterialRelationship::type() const { return Type::IfcMaterialRelationship; } Type::Enum IfcMaterialRelationship::Class() { return Type::IfcMaterialRelationship; } @@ -12075,9 +11731,9 @@ IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntit // Function implementations for IfcMeasureWithUnit IfcValue* IfcMeasureWithUnit::ValueComponent() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcMeasureWithUnit::setValueComponent(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMeasureWithUnit::ValueComponent(IfcValue* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcUnit* IfcMeasureWithUnit::UnitComponent() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcMeasureWithUnit::setUnitComponent(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcMeasureWithUnit::UnitComponent(IfcUnit* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcMeasureWithUnit::is(Type::Enum v) const { return v == Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::type() const { return Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::Class() { return Type::IfcMeasureWithUnit; } @@ -12085,97 +11741,88 @@ IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseE IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue* v1_ValueComponent, IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastener -bool IfcMechanicalFastener::hasNominalDiameter() const { return !entity->getArgument(8)->isNull(); } -double IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } -void IfcMechanicalFastener::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalFastener::hasNominalLength() const { return !entity->getArgument(9)->isNull(); } -double IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } -void IfcMechanicalFastener::setNominalLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMechanicalFastener::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum IfcMechanicalFastener::PredefinedType() const { return IfcMechanicalFastenerTypeEnum::FromString(*entity->getArgument(10)); } -void IfcMechanicalFastener::setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcMechanicalFastenerTypeEnum::ToString(v)); } +boost::optional< double > IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } +void IfcMechanicalFastener::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } +void IfcMechanicalFastener::NominalLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > IfcMechanicalFastener::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcMechanicalFastenerTypeEnum::FromString(*arg); } } +void IfcMechanicalFastener::PredefinedType(boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcMechanicalFastenerTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcMechanicalFastener::is(Type::Enum v) const { return v == Type::IfcMechanicalFastener || IfcElementComponent::is(v); } Type::Enum IfcMechanicalFastener::type() const { return Type::IfcMechanicalFastener; } Type::Enum IfcMechanicalFastener::Class() { return Type::IfcMechanicalFastener; } IfcMechanicalFastener::IfcMechanicalFastener(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastenerType IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum IfcMechanicalFastenerType::PredefinedType() const { return IfcMechanicalFastenerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcMechanicalFastenerType::setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMechanicalFastenerTypeEnum::ToString(v)); } -bool IfcMechanicalFastenerType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -double IfcMechanicalFastenerType::NominalDiameter() const { return *entity->getArgument(10); } -void IfcMechanicalFastenerType::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcMechanicalFastenerType::hasNominalLength() const { return !entity->getArgument(11)->isNull(); } -double IfcMechanicalFastenerType::NominalLength() const { return *entity->getArgument(11); } -void IfcMechanicalFastenerType::setNominalLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcMechanicalFastenerType::PredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcMechanicalFastenerTypeEnum::ToString(v));; } +boost::optional< double > IfcMechanicalFastenerType::NominalDiameter() const { return *entity->getArgument(10); } +void IfcMechanicalFastenerType::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcMechanicalFastenerType::NominalLength() const { return *entity->getArgument(11); } +void IfcMechanicalFastenerType::NominalLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcMechanicalFastenerType::is(Type::Enum v) const { return v == Type::IfcMechanicalFastenerType || IfcElementComponentType::is(v); } Type::Enum IfcMechanicalFastenerType::type() const { return Type::IfcMechanicalFastenerType; } Type::Enum IfcMechanicalFastenerType::Class() { return Type::IfcMechanicalFastenerType; } IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_NominalLength) { e->setArgument(11,(*v12_NominalLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_NominalLength) { e->setArgument(11,(*v12_NominalLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMedicalDevice -bool IfcMedicalDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum IfcMedicalDevice::PredefinedType() const { return IfcMedicalDeviceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcMedicalDevice::setPredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcMedicalDeviceTypeEnum::ToString(v)); } +boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > IfcMedicalDevice::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcMedicalDeviceTypeEnum::FromString(*arg); } } +void IfcMedicalDevice::PredefinedType(boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcMedicalDeviceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcMedicalDevice::is(Type::Enum v) const { return v == Type::IfcMedicalDevice || IfcFlowTerminal::is(v); } Type::Enum IfcMedicalDevice::type() const { return Type::IfcMedicalDevice; } Type::Enum IfcMedicalDevice::Class() { return Type::IfcMedicalDevice; } IfcMedicalDevice::IfcMedicalDevice(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMedicalDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMedicalDeviceType IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum IfcMedicalDeviceType::PredefinedType() const { return IfcMedicalDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcMedicalDeviceType::setPredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMedicalDeviceTypeEnum::ToString(v)); } +void IfcMedicalDeviceType::PredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcMedicalDeviceTypeEnum::ToString(v));; } bool IfcMedicalDeviceType::is(Type::Enum v) const { return v == Type::IfcMedicalDeviceType || IfcFlowTerminalType::is(v); } Type::Enum IfcMedicalDeviceType::type() const { return Type::IfcMedicalDeviceType; } Type::Enum IfcMedicalDeviceType::Class() { return Type::IfcMedicalDeviceType; } IfcMedicalDeviceType::IfcMedicalDeviceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMedicalDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMember -bool IfcMember::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcMemberTypeEnum::IfcMemberTypeEnum IfcMember::PredefinedType() const { return IfcMemberTypeEnum::FromString(*entity->getArgument(8)); } -void IfcMember::setPredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcMemberTypeEnum::ToString(v)); } +boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > IfcMember::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcMemberTypeEnum::FromString(*arg); } } +void IfcMember::PredefinedType(boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcMemberTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcMember::is(Type::Enum v) const { return v == Type::IfcMember || IfcBuildingElement::is(v); } Type::Enum IfcMember::type() const { return Type::IfcMember; } Type::Enum IfcMember::Class() { return Type::IfcMember; } IfcMember::IfcMember(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMember::IfcMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMember::IfcMember(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberStandardCase bool IfcMemberStandardCase::is(Type::Enum v) const { return v == Type::IfcMemberStandardCase || IfcMember::is(v); } Type::Enum IfcMemberStandardCase::type() const { return Type::IfcMemberStandardCase; } Type::Enum IfcMemberStandardCase::Class() { return Type::IfcMemberStandardCase; } IfcMemberStandardCase::IfcMemberStandardCase(IfcAbstractEntity* e) : IfcMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberType IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberType::PredefinedType() const { return IfcMemberTypeEnum::FromString(*entity->getArgument(9)); } -void IfcMemberType::setPredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMemberTypeEnum::ToString(v)); } +void IfcMemberType::PredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcMemberTypeEnum::ToString(v));; } bool IfcMemberType::is(Type::Enum v) const { return v == Type::IfcMemberType || IfcBuildingElementType::is(v); } Type::Enum IfcMemberType::type() const { return Type::IfcMemberType; } Type::Enum IfcMemberType::Class() { return Type::IfcMemberType; } IfcMemberType::IfcMemberType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberType::IfcMemberType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMemberType::IfcMemberType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMetric IfcBenchmarkEnum::IfcBenchmarkEnum IfcMetric::Benchmark() const { return IfcBenchmarkEnum::FromString(*entity->getArgument(7)); } -void IfcMetric::setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcBenchmarkEnum::ToString(v)); } -bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } -std::string IfcMetric::ValueSource() const { return *entity->getArgument(8); } -void IfcMetric::setValueSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcMetric::Benchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcBenchmarkEnum::ToString(v));; } +boost::optional< std::string > IfcMetric::ValueSource() const { return *entity->getArgument(8); } +void IfcMetric::ValueSource(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcMetricValueSelect* IfcMetric::DataValue() const { return (IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcMetric::setDataValue(IfcMetricValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMetric::hasReferencePath() const { return !entity->getArgument(10)->isNull(); } -IfcReference* IfcMetric::ReferencePath() const { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcMetric::setReferencePath(IfcReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcMetric::DataValue(IfcMetricValueSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } +boost::optional< IfcReference* > IfcMetric::ReferencePath() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcMetric::ReferencePath(boost::optional< IfcReference* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcMetric::is(Type::Enum v) const { return v == Type::IfcMetric || IfcConstraint::is(v); } Type::Enum IfcMetric::type() const { return Type::IfcMetric; } Type::Enum IfcMetric::Class() { return Type::IfcMetric; } IfcMetric::IfcMetric(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue, IfcReference* v11_ReferencePath) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); e->setArgument(10,(v11_ReferencePath)); entity = e; EntityBuffer::Add(this); } +IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue, boost::optional< IfcReference* > v11_ReferencePath) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); if (v11_ReferencePath) { e->setArgument(10,(*v11_ReferencePath)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMirroredProfileDef bool IfcMirroredProfileDef::is(Type::Enum v) const { return v == Type::IfcMirroredProfileDef || IfcDerivedProfileDef::is(v); } @@ -12186,7 +11833,7 @@ IfcMirroredProfileDef::IfcMirroredProfileDef(IfcProfileTypeEnum::IfcProfileTypeE // Function implementations for IfcMonetaryUnit std::string IfcMonetaryUnit::Currency() const { return *entity->getArgument(0); } -void IfcMonetaryUnit::setCurrency(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcMonetaryUnit::Currency(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcMonetaryUnit::is(Type::Enum v) const { return v == Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::type() const { return Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::Class() { return Type::IfcMonetaryUnit; } @@ -12194,29 +11841,28 @@ IfcMonetaryUnit::IfcMonetaryUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity( IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Currency)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnection -bool IfcMotorConnection::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnection::PredefinedType() const { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(8)); } -void IfcMotorConnection::setPredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcMotorConnectionTypeEnum::ToString(v)); } +boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > IfcMotorConnection::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcMotorConnectionTypeEnum::FromString(*arg); } } +void IfcMotorConnection::PredefinedType(boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcMotorConnectionTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcMotorConnection::is(Type::Enum v) const { return v == Type::IfcMotorConnection || IfcEnergyConversionDevice::is(v); } Type::Enum IfcMotorConnection::type() const { return Type::IfcMotorConnection; } Type::Enum IfcMotorConnection::Class() { return Type::IfcMotorConnection; } IfcMotorConnection::IfcMotorConnection(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMotorConnectionTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMotorConnectionTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnectionType IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnectionType::PredefinedType() const { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(9)); } -void IfcMotorConnectionType::setPredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMotorConnectionTypeEnum::ToString(v)); } +void IfcMotorConnectionType::PredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcMotorConnectionTypeEnum::ToString(v));; } bool IfcMotorConnectionType::is(Type::Enum v) const { return v == Type::IfcMotorConnectionType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcMotorConnectionType::type() const { return Type::IfcMotorConnectionType; } Type::Enum IfcMotorConnectionType::Class() { return Type::IfcMotorConnectionType; } IfcMotorConnectionType::IfcMotorConnectionType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcNamedUnit IfcDimensionalExponents* IfcNamedUnit::Dimensions() const { return (IfcDimensionalExponents*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcNamedUnit::setDimensions(IfcDimensionalExponents* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcNamedUnit::Dimensions(IfcDimensionalExponents* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcUnitEnum::IfcUnitEnum IfcNamedUnit::UnitType() const { return IfcUnitEnum::FromString(*entity->getArgument(1)); } -void IfcNamedUnit::setUnitType(IfcUnitEnum::IfcUnitEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcUnitEnum::ToString(v)); } +void IfcNamedUnit::UnitType(IfcUnitEnum::IfcUnitEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcUnitEnum::ToString(v));; } bool IfcNamedUnit::is(Type::Enum v) const { return v == Type::IfcNamedUnit; } Type::Enum IfcNamedUnit::type() const { return Type::IfcNamedUnit; } Type::Enum IfcNamedUnit::Class() { return Type::IfcNamedUnit; } @@ -12224,9 +11870,8 @@ IfcNamedUnit::IfcNamedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if IfcNamedUnit::IfcNamedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObject -bool IfcObject::hasObjectType() const { return !entity->getArgument(4)->isNull(); } -std::string IfcObject::ObjectType() const { return *entity->getArgument(4); } -void IfcObject::setObjectType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcObject::ObjectType() const { return *entity->getArgument(4); } +void IfcObject::ObjectType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcRelDefinesByObject::list::ptr IfcObject::IsDeclaredBy() const { return entity->getInverse(Type::IfcRelDefinesByObject, 4)->as(); } IfcRelDefinesByObject::list::ptr IfcObject::Declares() const { return entity->getInverse(Type::IfcRelDefinesByObject, 5)->as(); } IfcRelDefinesByType::list::ptr IfcObject::IsTypedBy() const { return entity->getInverse(Type::IfcRelDefinesByType, 4)->as(); } @@ -12235,7 +11880,7 @@ bool IfcObject::is(Type::Enum v) const { return v == Type::IfcObject || IfcObjec Type::Enum IfcObject::type() const { return Type::IfcObject; } Type::Enum IfcObject::Class() { return Type::IfcObject; } IfcObject::IfcObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObject::IfcObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcObject::IfcObject(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectDefinition IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return entity->getInverse(Type::IfcRelAssigns, 4)->as(); } @@ -12249,7 +11894,7 @@ bool IfcObjectDefinition::is(Type::Enum v) const { return v == Type::IfcObjectDe Type::Enum IfcObjectDefinition::type() const { return Type::IfcObjectDefinition; } Type::Enum IfcObjectDefinition::Class() { return Type::IfcObjectDefinition; } IfcObjectDefinition::IfcObjectDefinition(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectPlacement IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return entity->getInverse(Type::IfcProduct, 5)->as(); } @@ -12261,40 +11906,36 @@ IfcObjectPlacement::IfcObjectPlacement(IfcAbstractEntity* e) : IfcUtil::IfcBaseE IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjective -bool IfcObjective::hasBenchmarkValues() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcConstraint >::ptr IfcObjective::BenchmarkValues() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcObjective::setBenchmarkValues(IfcTemplatedEntityList< IfcConstraint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcObjective::hasLogicalAggregator() const { return !entity->getArgument(8)->isNull(); } -IfcLogicalOperatorEnum::IfcLogicalOperatorEnum IfcObjective::LogicalAggregator() const { return IfcLogicalOperatorEnum::FromString(*entity->getArgument(8)); } -void IfcObjective::setLogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLogicalOperatorEnum::ToString(v)); } +boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > IfcObjective::BenchmarkValues() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcObjective::BenchmarkValues(boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > IfcObjective::LogicalAggregator() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcLogicalOperatorEnum::FromString(*arg); } } +void IfcObjective::LogicalAggregator(boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcLogicalOperatorEnum::ToString(*v));; } else { w->setArgument(8); } } IfcObjectiveEnum::IfcObjectiveEnum IfcObjective::ObjectiveQualifier() const { return IfcObjectiveEnum::FromString(*entity->getArgument(9)); } -void IfcObjective::setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcObjectiveEnum::ToString(v)); } -bool IfcObjective::hasUserDefinedQualifier() const { return !entity->getArgument(10)->isNull(); } -std::string IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } -void IfcObjective::setUserDefinedQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcObjective::ObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcObjectiveEnum::ToString(v));; } +boost::optional< std::string > IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } +void IfcObjective::UserDefinedQualifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcObjective::is(Type::Enum v) const { return v == Type::IfcObjective || IfcConstraint::is(v); } Type::Enum IfcObjective::type() const { return Type::IfcObjective; } Type::Enum IfcObjective::Class() { return Type::IfcObjective; } IfcObjective::IfcObjective(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)->generalize()); } else { e->setArgument(7); } if (v9_LogicalAggregator) { e->setArgument(8,*v9_LogicalAggregator,IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)->generalize()); } else { e->setArgument(7); } if (v9_LogicalAggregator) { e->setArgument(8,*v9_LogicalAggregator,IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOccupant -bool IfcOccupant::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcOccupantTypeEnum::IfcOccupantTypeEnum IfcOccupant::PredefinedType() const { return IfcOccupantTypeEnum::FromString(*entity->getArgument(6)); } -void IfcOccupant::setPredefinedType(IfcOccupantTypeEnum::IfcOccupantTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcOccupantTypeEnum::ToString(v)); } +boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > IfcOccupant::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcOccupantTypeEnum::FromString(*arg); } } +void IfcOccupant::PredefinedType(boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcOccupantTypeEnum::ToString(*v));; } else { w->setArgument(6); } } bool IfcOccupant::is(Type::Enum v) const { return v == Type::IfcOccupant || IfcActor::is(v); } Type::Enum IfcOccupant::type() const { return Type::IfcOccupant; } Type::Enum IfcOccupant::Class() { return Type::IfcOccupant; } IfcOccupant::IfcOccupant(IfcAbstractEntity* e) : IfcActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOccupant::IfcOccupant(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcOccupantTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcOccupant::IfcOccupant(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcOccupantTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve2D IfcCurve* IfcOffsetCurve2D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOffsetCurve2D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOffsetCurve2D::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve2D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcOffsetCurve2D::Distance(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcOffsetCurve2D::SelfIntersect() const { return *entity->getArgument(2); } -void IfcOffsetCurve2D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOffsetCurve2D::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcOffsetCurve2D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve2D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve2D::type() const { return Type::IfcOffsetCurve2D; } Type::Enum IfcOffsetCurve2D::Class() { return Type::IfcOffsetCurve2D; } @@ -12303,13 +11944,13 @@ IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, double v2_Distance, // Function implementations for IfcOffsetCurve3D IfcCurve* IfcOffsetCurve3D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOffsetCurve3D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOffsetCurve3D::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve3D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcOffsetCurve3D::Distance(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcOffsetCurve3D::SelfIntersect() const { return *entity->getArgument(2); } -void IfcOffsetCurve3D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOffsetCurve3D::SelfIntersect(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcDirection* IfcOffsetCurve3D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcOffsetCurve3D::setRefDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcOffsetCurve3D::RefDirection(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcOffsetCurve3D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve3D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve3D::type() const { return Type::IfcOffsetCurve3D; } Type::Enum IfcOffsetCurve3D::Class() { return Type::IfcOffsetCurve3D; } @@ -12324,38 +11965,33 @@ IfcOpenShell::IfcOpenShell(IfcAbstractEntity* e) : IfcConnectedFaceSet((IfcAbstr IfcOpenShell::IfcOpenShell(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpeningElement -bool IfcOpeningElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum IfcOpeningElement::PredefinedType() const { return IfcOpeningElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcOpeningElement::setPredefinedType(IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcOpeningElementTypeEnum::ToString(v)); } +boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > IfcOpeningElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcOpeningElementTypeEnum::FromString(*arg); } } +void IfcOpeningElement::PredefinedType(boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcOpeningElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return entity->getInverse(Type::IfcRelFillsElement, 4)->as(); } bool IfcOpeningElement::is(Type::Enum v) const { return v == Type::IfcOpeningElement || IfcFeatureElementSubtraction::is(v); } Type::Enum IfcOpeningElement::type() const { return Type::IfcOpeningElement; } Type::Enum IfcOpeningElement::Class() { return Type::IfcOpeningElement; } IfcOpeningElement::IfcOpeningElement(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpeningStandardCase bool IfcOpeningStandardCase::is(Type::Enum v) const { return v == Type::IfcOpeningStandardCase || IfcOpeningElement::is(v); } Type::Enum IfcOpeningStandardCase::type() const { return Type::IfcOpeningStandardCase; } Type::Enum IfcOpeningStandardCase::Class() { return Type::IfcOpeningStandardCase; } IfcOpeningStandardCase::IfcOpeningStandardCase(IfcAbstractEntity* e) : IfcOpeningElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcOpeningElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcOpeningElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganization -bool IfcOrganization::hasIdentification() const { return !entity->getArgument(0)->isNull(); } -std::string IfcOrganization::Identification() const { return *entity->getArgument(0); } -void IfcOrganization::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcOrganization::Identification() const { return *entity->getArgument(0); } +void IfcOrganization::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } std::string IfcOrganization::Name() const { return *entity->getArgument(1); } -void IfcOrganization::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOrganization::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcOrganization::Description() const { return *entity->getArgument(2); } -void IfcOrganization::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcOrganization::hasRoles() const { return !entity->getArgument(3)->isNull(); } -IfcTemplatedEntityList< IfcActorRole >::ptr IfcOrganization::Roles() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcOrganization::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcOrganization::hasAddresses() const { return !entity->getArgument(4)->isNull(); } -IfcTemplatedEntityList< IfcAddress >::ptr IfcOrganization::Addresses() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcOrganization::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcOrganization::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcOrganization::Description() const { return *entity->getArgument(2); } +void IfcOrganization::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > IfcOrganization::Roles() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcOrganization::Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,(*v)->generalize());; } else { w->setArgument(3); } } +boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > IfcOrganization::Addresses() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcOrganization::Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,(*v)->generalize());; } else { w->setArgument(4); } } IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return entity->getInverse(Type::IfcOrganizationRelationship, 3)->as(); } IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return entity->getInverse(Type::IfcOrganizationRelationship, 2)->as(); } IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return entity->getInverse(Type::IfcPersonAndOrganization, 1)->as(); } @@ -12367,9 +12003,9 @@ IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identificatio // Function implementations for IfcOrganizationRelationship IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcOrganizationRelationship::setRelatingOrganization(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOrganizationRelationship::RelatingOrganization(IfcOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcTemplatedEntityList< IfcOrganization >::ptr IfcOrganizationRelationship::RelatedOrganizations() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcOrganizationRelationship::setRelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcOrganizationRelationship::RelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } bool IfcOrganizationRelationship::is(Type::Enum v) const { return v == Type::IfcOrganizationRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcOrganizationRelationship::type() const { return Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::Class() { return Type::IfcOrganizationRelationship; } @@ -12378,9 +12014,9 @@ IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::s // Function implementations for IfcOrientedEdge IfcEdge* IfcOrientedEdge::EdgeElement() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcOrientedEdge::setEdgeElement(IfcEdge* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcOrientedEdge::EdgeElement(IfcEdge* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcOrientedEdge::Orientation() const { return *entity->getArgument(3); } -void IfcOrientedEdge::setOrientation(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcOrientedEdge::Orientation(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcOrientedEdge::is(Type::Enum v) const { return v == Type::IfcOrientedEdge || IfcEdge::is(v); } Type::Enum IfcOrientedEdge::type() const { return Type::IfcOrientedEdge; } Type::Enum IfcOrientedEdge::Class() { return Type::IfcOrientedEdge; } @@ -12395,65 +12031,58 @@ IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcAbstractEntity* e) : IfcBoundary IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcBoundaryCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOutlet -bool IfcOutlet::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutlet::PredefinedType() const { return IfcOutletTypeEnum::FromString(*entity->getArgument(8)); } -void IfcOutlet::setPredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcOutletTypeEnum::ToString(v)); } +boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > IfcOutlet::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcOutletTypeEnum::FromString(*arg); } } +void IfcOutlet::PredefinedType(boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcOutletTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcOutlet::is(Type::Enum v) const { return v == Type::IfcOutlet || IfcFlowTerminal::is(v); } Type::Enum IfcOutlet::type() const { return Type::IfcOutlet; } Type::Enum IfcOutlet::Class() { return Type::IfcOutlet; } IfcOutlet::IfcOutlet(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutlet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutlet::IfcOutlet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOutletTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcOutlet::IfcOutlet(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOutletTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOutletType IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutletType::PredefinedType() const { return IfcOutletTypeEnum::FromString(*entity->getArgument(9)); } -void IfcOutletType::setPredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcOutletTypeEnum::ToString(v)); } +void IfcOutletType::PredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcOutletTypeEnum::ToString(v));; } bool IfcOutletType::is(Type::Enum v) const { return v == Type::IfcOutletType || IfcFlowTerminalType::is(v); } Type::Enum IfcOutletType::type() const { return Type::IfcOutletType; } Type::Enum IfcOutletType::Class() { return Type::IfcOutletType; } IfcOutletType::IfcOutletType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutletType::IfcOutletType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcOutletType::IfcOutletType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOwnerHistory IfcPersonAndOrganization* IfcOwnerHistory::OwningUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcOwnerHistory::setOwningUser(IfcPersonAndOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcOwnerHistory::OwningUser(IfcPersonAndOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcApplication* IfcOwnerHistory::OwningApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcOwnerHistory::setOwningApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOwnerHistory::hasState() const { return !entity->getArgument(2)->isNull(); } -IfcStateEnum::IfcStateEnum IfcOwnerHistory::State() const { return IfcStateEnum::FromString(*entity->getArgument(2)); } -void IfcOwnerHistory::setState(IfcStateEnum::IfcStateEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcStateEnum::ToString(v)); } -bool IfcOwnerHistory::hasChangeAction() const { return !entity->getArgument(3)->isNull(); } -IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() const { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } -void IfcOwnerHistory::setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcChangeActionEnum::ToString(v)); } -bool IfcOwnerHistory::hasLastModifiedDate() const { return !entity->getArgument(4)->isNull(); } -int IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } -void IfcOwnerHistory::setLastModifiedDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcOwnerHistory::hasLastModifyingUser() const { return !entity->getArgument(5)->isNull(); } -IfcPersonAndOrganization* IfcOwnerHistory::LastModifyingUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcOwnerHistory::setLastModifyingUser(IfcPersonAndOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcOwnerHistory::hasLastModifyingApplication() const { return !entity->getArgument(6)->isNull(); } -IfcApplication* IfcOwnerHistory::LastModifyingApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcOwnerHistory::setLastModifyingApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcOwnerHistory::OwningApplication(IfcApplication* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcStateEnum::IfcStateEnum > IfcOwnerHistory::State() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return IfcStateEnum::FromString(*arg); } } +void IfcOwnerHistory::State(boost::optional< IfcStateEnum::IfcStateEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v,IfcStateEnum::ToString(*v));; } else { w->setArgument(2); } } +boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > IfcOwnerHistory::ChangeAction() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return IfcChangeActionEnum::FromString(*arg); } } +void IfcOwnerHistory::ChangeAction(boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v,IfcChangeActionEnum::ToString(*v));; } else { w->setArgument(3); } } +boost::optional< int > IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } +void IfcOwnerHistory::LastModifiedDate(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcPersonAndOrganization* > IfcOwnerHistory::LastModifyingUser() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcOwnerHistory::LastModifyingUser(boost::optional< IfcPersonAndOrganization* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcApplication* > IfcOwnerHistory::LastModifyingApplication() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcOwnerHistory::LastModifyingApplication(boost::optional< IfcApplication* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } int IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } -void IfcOwnerHistory::setCreationDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcOwnerHistory::CreationDate(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } bool IfcOwnerHistory::is(Type::Enum v) const { return v == Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::type() const { return Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::Class() { return Type::IfcOwnerHistory; } IfcOwnerHistory::IfcOwnerHistory(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } if (v4_ChangeAction) { e->setArgument(3,*v4_ChangeAction,IfcChangeActionEnum::ToString(*v4_ChangeAction)); } else { e->setArgument(3); } if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } +IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, boost::optional< IfcPersonAndOrganization* > v6_LastModifyingUser, boost::optional< IfcApplication* > v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } if (v4_ChangeAction) { e->setArgument(3,*v4_ChangeAction,IfcChangeActionEnum::ToString(*v4_ChangeAction)); } else { e->setArgument(3); } if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } if (v6_LastModifyingUser) { e->setArgument(5,(*v6_LastModifyingUser)); } else { e->setArgument(5); } if (v7_LastModifyingApplication) { e->setArgument(6,(*v7_LastModifyingApplication)); } else { e->setArgument(6); } e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcParameterizedProfileDef -bool IfcParameterizedProfileDef::hasPosition() const { return !entity->getArgument(2)->isNull(); } -IfcAxis2Placement2D* IfcParameterizedProfileDef::Position() const { return (IfcAxis2Placement2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcParameterizedProfileDef::setPosition(IfcAxis2Placement2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcAxis2Placement2D* > IfcParameterizedProfileDef::Position() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement2D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcParameterizedProfileDef::Position(boost::optional< IfcAxis2Placement2D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcParameterizedProfileDef::is(Type::Enum v) const { return v == Type::IfcParameterizedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcParameterizedProfileDef::type() const { return Type::IfcParameterizedProfileDef; } Type::Enum IfcParameterizedProfileDef::Class() { return Type::IfcParameterizedProfileDef; } IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } +IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPath IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcPath::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPath::setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcPath::EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcPath::is(Type::Enum v) const { return v == Type::IfcPath || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcPath::type() const { return Type::IfcPath; } Type::Enum IfcPath::Class() { return Type::IfcPath; } @@ -12462,9 +12091,9 @@ IfcPath::IfcPath(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList) : I // Function implementations for IfcPcurve IfcSurface* IfcPcurve::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPcurve::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPcurve::BasisSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcCurve* IfcPcurve::ReferenceCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcPcurve::setReferenceCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPcurve::ReferenceCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcPcurve::is(Type::Enum v) const { return v == Type::IfcPcurve || IfcCurve::is(v); } Type::Enum IfcPcurve::type() const { return Type::IfcPcurve; } Type::Enum IfcPcurve::Class() { return Type::IfcPcurve; } @@ -12473,77 +12102,62 @@ IfcPcurve::IfcPcurve(IfcSurface* v1_BasisSurface, IfcCurve* v2_ReferenceCurve) : // Function implementations for IfcPerformanceHistory std::string IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(6); } -void IfcPerformanceHistory::setLifeCyclePhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPerformanceHistory::hasPredefinedType() const { return !entity->getArgument(7)->isNull(); } -IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum IfcPerformanceHistory::PredefinedType() const { return IfcPerformanceHistoryTypeEnum::FromString(*entity->getArgument(7)); } -void IfcPerformanceHistory::setPredefinedType(IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcPerformanceHistoryTypeEnum::ToString(v)); } +void IfcPerformanceHistory::LifeCyclePhase(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > IfcPerformanceHistory::PredefinedType() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcPerformanceHistoryTypeEnum::FromString(*arg); } } +void IfcPerformanceHistory::PredefinedType(boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcPerformanceHistoryTypeEnum::ToString(*v));; } else { w->setArgument(7); } } bool IfcPerformanceHistory::is(Type::Enum v) const { return v == Type::IfcPerformanceHistory || IfcControl::is(v); } Type::Enum IfcPerformanceHistory::type() const { return Type::IfcPerformanceHistory; } Type::Enum IfcPerformanceHistory::Class() { return Type::IfcPerformanceHistory; } IfcPerformanceHistory::IfcPerformanceHistory(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_LifeCyclePhase)); if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcPerformanceHistoryTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_LifeCyclePhase)); if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcPerformanceHistoryTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermeableCoveringProperties IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringProperties::OperationType() const { return IfcPermeableCoveringOperationEnum::FromString(*entity->getArgument(4)); } -void IfcPermeableCoveringProperties::setOperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcPermeableCoveringOperationEnum::ToString(v)); } +void IfcPermeableCoveringProperties::OperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcPermeableCoveringOperationEnum::ToString(v));; } IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcPermeableCoveringProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } -void IfcPermeableCoveringProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } -bool IfcPermeableCoveringProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -double IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcPermeableCoveringProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPermeableCoveringProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcPermeableCoveringProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPermeableCoveringProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcPermeableCoveringProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcPermeableCoveringProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcPermeableCoveringProperties::PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v));; } +boost::optional< double > IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcPermeableCoveringProperties::FrameDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcPermeableCoveringProperties::FrameThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcShapeAspect* > IfcPermeableCoveringProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPermeableCoveringProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcPermeableCoveringProperties::is(Type::Enum v) const { return v == Type::IfcPermeableCoveringProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcPermeableCoveringProperties::type() const { return Type::IfcPermeableCoveringProperties; } Type::Enum IfcPermeableCoveringProperties::Class() { return Type::IfcPermeableCoveringProperties; } IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } if (v9_ShapeAspectStyle) { e->setArgument(8,(*v9_ShapeAspectStyle)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermit -bool IfcPermit::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcPermitTypeEnum::IfcPermitTypeEnum IfcPermit::PredefinedType() const { return IfcPermitTypeEnum::FromString(*entity->getArgument(6)); } -void IfcPermit::setPredefinedType(IfcPermitTypeEnum::IfcPermitTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcPermitTypeEnum::ToString(v)); } -bool IfcPermit::hasStatus() const { return !entity->getArgument(7)->isNull(); } -std::string IfcPermit::Status() const { return *entity->getArgument(7); } -void IfcPermit::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPermit::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } -std::string IfcPermit::LongDescription() const { return *entity->getArgument(8); } -void IfcPermit::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > IfcPermit::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcPermitTypeEnum::FromString(*arg); } } +void IfcPermit::PredefinedType(boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcPermitTypeEnum::ToString(*v));; } else { w->setArgument(6); } } +boost::optional< std::string > IfcPermit::Status() const { return *entity->getArgument(7); } +void IfcPermit::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcPermit::LongDescription() const { return *entity->getArgument(8); } +void IfcPermit::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcPermit::is(Type::Enum v) const { return v == Type::IfcPermit || IfcControl::is(v); } Type::Enum IfcPermit::type() const { return Type::IfcPermit; } Type::Enum IfcPermit::Class() { return Type::IfcPermit; } IfcPermit::IfcPermit(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermit::IfcPermit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcPermitTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPermit::IfcPermit(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcPermitTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerson -bool IfcPerson::hasIdentification() const { return !entity->getArgument(0)->isNull(); } -std::string IfcPerson::Identification() const { return *entity->getArgument(0); } -void IfcPerson::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPerson::hasFamilyName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcPerson::FamilyName() const { return *entity->getArgument(1); } -void IfcPerson::setFamilyName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPerson::hasGivenName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcPerson::GivenName() const { return *entity->getArgument(2); } -void IfcPerson::setGivenName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPerson::hasMiddleNames() const { return !entity->getArgument(3)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } -void IfcPerson::setMiddleNames(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPerson::hasPrefixTitles() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } -void IfcPerson::setPrefixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPerson::hasSuffixTitles() const { return !entity->getArgument(5)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } -void IfcPerson::setSuffixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPerson::hasRoles() const { return !entity->getArgument(6)->isNull(); } -IfcTemplatedEntityList< IfcActorRole >::ptr IfcPerson::Roles() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcPerson::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcPerson::hasAddresses() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcAddress >::ptr IfcPerson::Addresses() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcPerson::setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +boost::optional< std::string > IfcPerson::Identification() const { return *entity->getArgument(0); } +void IfcPerson::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcPerson::FamilyName() const { return *entity->getArgument(1); } +void IfcPerson::FamilyName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcPerson::GivenName() const { return *entity->getArgument(2); } +void IfcPerson::GivenName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPerson::MiddleNames() const { return *entity->getArgument(3); } +void IfcPerson::MiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } +void IfcPerson::PrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } +void IfcPerson::SuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > IfcPerson::Roles() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcPerson::Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,(*v)->generalize());; } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > IfcPerson::Addresses() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcPerson::Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return entity->getInverse(Type::IfcPersonAndOrganization, 0)->as(); } bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } @@ -12553,12 +12167,11 @@ IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::op // Function implementations for IfcPersonAndOrganization IfcPerson* IfcPersonAndOrganization::ThePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPersonAndOrganization::setThePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPersonAndOrganization::ThePerson(IfcPerson* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcOrganization* IfcPersonAndOrganization::TheOrganization() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcPersonAndOrganization::setTheOrganization(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPersonAndOrganization::hasRoles() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcActorRole >::ptr IfcPersonAndOrganization::Roles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPersonAndOrganization::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcPersonAndOrganization::TheOrganization(IfcOrganization* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > IfcPersonAndOrganization::Roles() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcPersonAndOrganization::Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,(*v)->generalize());; } else { w->setArgument(2); } } bool IfcPersonAndOrganization::is(Type::Enum v) const { return v == Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::type() const { return Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::Class() { return Type::IfcPersonAndOrganization; } @@ -12567,15 +12180,13 @@ IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcO // Function implementations for IfcPhysicalComplexQuantity IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcPhysicalComplexQuantity::HasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } std::string IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } -void IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPhysicalComplexQuantity::hasQuality() const { return !entity->getArgument(4)->isNull(); } -std::string IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } -void IfcPhysicalComplexQuantity::setQuality(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPhysicalComplexQuantity::hasUsage() const { return !entity->getArgument(5)->isNull(); } -std::string IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } -void IfcPhysicalComplexQuantity::setUsage(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPhysicalComplexQuantity::Discrimination(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } +void IfcPhysicalComplexQuantity::Quality(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } +void IfcPhysicalComplexQuantity::Usage(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcPhysicalComplexQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalComplexQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalComplexQuantity::type() const { return Type::IfcPhysicalComplexQuantity; } Type::Enum IfcPhysicalComplexQuantity::Class() { return Type::IfcPhysicalComplexQuantity; } @@ -12584,10 +12195,9 @@ IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boos // Function implementations for IfcPhysicalQuantity std::string IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } -void IfcPhysicalQuantity::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPhysicalQuantity::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } -void IfcPhysicalQuantity::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPhysicalQuantity::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } +void IfcPhysicalQuantity::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcExternalReferenceRelationship::list::ptr IfcPhysicalQuantity::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return entity->getInverse(Type::IfcPhysicalComplexQuantity, 2)->as(); } bool IfcPhysicalQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalQuantity; } @@ -12597,91 +12207,86 @@ IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntity* e) : IfcUtil::IfcBas IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalSimpleQuantity -bool IfcPhysicalSimpleQuantity::hasUnit() const { return !entity->getArgument(2)->isNull(); } -IfcNamedUnit* IfcPhysicalSimpleQuantity::Unit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPhysicalSimpleQuantity::setUnit(IfcNamedUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcNamedUnit* > IfcPhysicalSimpleQuantity::Unit() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPhysicalSimpleQuantity::Unit(boost::optional< IfcNamedUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcPhysicalSimpleQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalSimpleQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalSimpleQuantity::type() const { return Type::IfcPhysicalSimpleQuantity; } Type::Enum IfcPhysicalSimpleQuantity::Class() { return Type::IfcPhysicalSimpleQuantity; } IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPile -bool IfcPile::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcPileTypeEnum::IfcPileTypeEnum IfcPile::PredefinedType() const { return IfcPileTypeEnum::FromString(*entity->getArgument(8)); } -void IfcPile::setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcPileTypeEnum::ToString(v)); } -bool IfcPile::hasConstructionType() const { return !entity->getArgument(9)->isNull(); } -IfcPileConstructionEnum::IfcPileConstructionEnum IfcPile::ConstructionType() const { return IfcPileConstructionEnum::FromString(*entity->getArgument(9)); } -void IfcPile::setConstructionType(IfcPileConstructionEnum::IfcPileConstructionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPileConstructionEnum::ToString(v)); } +boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > IfcPile::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcPileTypeEnum::FromString(*arg); } } +void IfcPile::PredefinedType(boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcPileTypeEnum::ToString(*v));; } else { w->setArgument(8); } } +boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > IfcPile::ConstructionType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcPileConstructionEnum::FromString(*arg); } } +void IfcPile::ConstructionType(boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcPileConstructionEnum::ToString(*v));; } else { w->setArgument(9); } } bool IfcPile::is(Type::Enum v) const { return v == Type::IfcPile || IfcBuildingElement::is(v); } Type::Enum IfcPile::type() const { return Type::IfcPile; } Type::Enum IfcPile::Class() { return Type::IfcPile; } IfcPile::IfcPile(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPile::IfcPile(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPileTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPile::IfcPile(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPileTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPileType IfcPileTypeEnum::IfcPileTypeEnum IfcPileType::PredefinedType() const { return IfcPileTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPileType::setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPileTypeEnum::ToString(v)); } +void IfcPileType::PredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPileTypeEnum::ToString(v));; } bool IfcPileType::is(Type::Enum v) const { return v == Type::IfcPileType || IfcBuildingElementType::is(v); } Type::Enum IfcPileType::type() const { return Type::IfcPileType; } Type::Enum IfcPileType::Class() { return Type::IfcPileType; } IfcPileType::IfcPileType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPileType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPileType::IfcPileType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPileTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPileType::IfcPileType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPileTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFitting -bool IfcPipeFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFitting::PredefinedType() const { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcPipeFitting::setPredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcPipeFittingTypeEnum::ToString(v)); } +boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > IfcPipeFitting::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcPipeFittingTypeEnum::FromString(*arg); } } +void IfcPipeFitting::PredefinedType(boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcPipeFittingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcPipeFitting::is(Type::Enum v) const { return v == Type::IfcPipeFitting || IfcFlowFitting::is(v); } Type::Enum IfcPipeFitting::type() const { return Type::IfcPipeFitting; } Type::Enum IfcPipeFitting::Class() { return Type::IfcPipeFitting; } IfcPipeFitting::IfcPipeFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFittingType IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingType::PredefinedType() const { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPipeFittingType::setPredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPipeFittingTypeEnum::ToString(v)); } +void IfcPipeFittingType::PredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPipeFittingTypeEnum::ToString(v));; } bool IfcPipeFittingType::is(Type::Enum v) const { return v == Type::IfcPipeFittingType || IfcFlowFittingType::is(v); } Type::Enum IfcPipeFittingType::type() const { return Type::IfcPipeFittingType; } Type::Enum IfcPipeFittingType::Class() { return Type::IfcPipeFittingType; } IfcPipeFittingType::IfcPipeFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegment -bool IfcPipeSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegment::PredefinedType() const { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(8)); } -void IfcPipeSegment::setPredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcPipeSegmentTypeEnum::ToString(v)); } +boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > IfcPipeSegment::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcPipeSegmentTypeEnum::FromString(*arg); } } +void IfcPipeSegment::PredefinedType(boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcPipeSegmentTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcPipeSegment::is(Type::Enum v) const { return v == Type::IfcPipeSegment || IfcFlowSegment::is(v); } Type::Enum IfcPipeSegment::type() const { return Type::IfcPipeSegment; } Type::Enum IfcPipeSegment::Class() { return Type::IfcPipeSegment; } IfcPipeSegment::IfcPipeSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegmentType IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentType::PredefinedType() const { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPipeSegmentType::setPredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPipeSegmentTypeEnum::ToString(v)); } +void IfcPipeSegmentType::PredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPipeSegmentTypeEnum::ToString(v));; } bool IfcPipeSegmentType::is(Type::Enum v) const { return v == Type::IfcPipeSegmentType || IfcFlowSegmentType::is(v); } Type::Enum IfcPipeSegmentType::type() const { return Type::IfcPipeSegmentType; } Type::Enum IfcPipeSegmentType::Class() { return Type::IfcPipeSegmentType; } IfcPipeSegmentType::IfcPipeSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPixelTexture int IfcPixelTexture::Width() const { return *entity->getArgument(5); } -void IfcPixelTexture::setWidth(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPixelTexture::Width(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } int IfcPixelTexture::Height() const { return *entity->getArgument(6); } -void IfcPixelTexture::setHeight(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcPixelTexture::Height(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } int IfcPixelTexture::ColourComponents() const { return *entity->getArgument(7); } -void IfcPixelTexture::setColourComponents(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcPixelTexture::ColourComponents(int v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } bool IfcPixelTexture::is(Type::Enum v) const { return v == Type::IfcPixelTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcPixelTexture::type() const { return Type::IfcPixelTexture; } Type::Enum IfcPixelTexture::Class() { return Type::IfcPixelTexture; } IfcPixelTexture::IfcPixelTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_Width)); e->setArgument(6,(v7_Height)); e->setArgument(7,(v8_ColourComponents)); entity = e; EntityBuffer::Add(this); } +IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_Width)); e->setArgument(6,(v7_Height)); e->setArgument(7,(v8_ColourComponents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlacement IfcCartesianPoint* IfcPlacement::Location() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPlacement::setLocation(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPlacement::Location(IfcCartesianPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcPlacement::is(Type::Enum v) const { return v == Type::IfcPlacement || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlacement::type() const { return Type::IfcPlacement; } Type::Enum IfcPlacement::Class() { return Type::IfcPlacement; } @@ -12690,7 +12295,7 @@ IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricReprese // Function implementations for IfcPlanarBox IfcAxis2Placement* IfcPlanarBox::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPlanarBox::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPlanarBox::Placement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcPlanarBox::is(Type::Enum v) const { return v == Type::IfcPlanarBox || IfcPlanarExtent::is(v); } Type::Enum IfcPlanarBox::type() const { return Type::IfcPlanarBox; } Type::Enum IfcPlanarBox::Class() { return Type::IfcPlanarBox; } @@ -12699,9 +12304,9 @@ IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, IfcAxis2Placeme // Function implementations for IfcPlanarExtent double IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } -void IfcPlanarExtent::setSizeInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPlanarExtent::SizeInX(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } -void IfcPlanarExtent::setSizeInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPlanarExtent::SizeInY(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcPlanarExtent::is(Type::Enum v) const { return v == Type::IfcPlanarExtent || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlanarExtent::type() const { return Type::IfcPlanarExtent; } Type::Enum IfcPlanarExtent::Class() { return Type::IfcPlanarExtent; } @@ -12716,30 +12321,29 @@ IfcPlane::IfcPlane(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEnti IfcPlane::IfcPlane(IfcAxis2Placement3D* v1_Position) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlate -bool IfcPlate::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlate::PredefinedType() const { return IfcPlateTypeEnum::FromString(*entity->getArgument(8)); } -void IfcPlate::setPredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcPlateTypeEnum::ToString(v)); } +boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > IfcPlate::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcPlateTypeEnum::FromString(*arg); } } +void IfcPlate::PredefinedType(boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcPlateTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcPlate::is(Type::Enum v) const { return v == Type::IfcPlate || IfcBuildingElement::is(v); } Type::Enum IfcPlate::type() const { return Type::IfcPlate; } Type::Enum IfcPlate::Class() { return Type::IfcPlate; } IfcPlate::IfcPlate(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlate::IfcPlate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPlate::IfcPlate(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateStandardCase bool IfcPlateStandardCase::is(Type::Enum v) const { return v == Type::IfcPlateStandardCase || IfcPlate::is(v); } Type::Enum IfcPlateStandardCase::type() const { return Type::IfcPlateStandardCase; } Type::Enum IfcPlateStandardCase::Class() { return Type::IfcPlateStandardCase; } IfcPlateStandardCase::IfcPlateStandardCase(IfcAbstractEntity* e) : IfcPlate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcPlate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcPlate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateType IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateType::PredefinedType() const { return IfcPlateTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPlateType::setPredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPlateTypeEnum::ToString(v)); } +void IfcPlateType::PredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPlateTypeEnum::ToString(v));; } bool IfcPlateType::is(Type::Enum v) const { return v == Type::IfcPlateType || IfcBuildingElementType::is(v); } Type::Enum IfcPlateType::type() const { return Type::IfcPlateType; } Type::Enum IfcPlateType::Class() { return Type::IfcPlateType; } IfcPlateType::IfcPlateType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateType::IfcPlateType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPlateType::IfcPlateType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPoint bool IfcPoint::is(Type::Enum v) const { return v == Type::IfcPoint || IfcGeometricRepresentationItem::is(v); } @@ -12750,9 +12354,9 @@ IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcPointOnCurve IfcCurve* IfcPointOnCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPointOnCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPointOnCurve::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } -void IfcPointOnCurve::setPointParameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPointOnCurve::PointParameter(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcPointOnCurve::is(Type::Enum v) const { return v == Type::IfcPointOnCurve || IfcPoint::is(v); } Type::Enum IfcPointOnCurve::type() const { return Type::IfcPointOnCurve; } Type::Enum IfcPointOnCurve::Class() { return Type::IfcPointOnCurve; } @@ -12761,11 +12365,11 @@ IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, double v2_PointParamet // Function implementations for IfcPointOnSurface IfcSurface* IfcPointOnSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcPointOnSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPointOnSurface::BasisSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } -void IfcPointOnSurface::setPointParameterU(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPointOnSurface::PointParameterU(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } -void IfcPointOnSurface::setPointParameterV(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPointOnSurface::PointParameterV(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcPointOnSurface::is(Type::Enum v) const { return v == Type::IfcPointOnSurface || IfcPoint::is(v); } Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } @@ -12774,7 +12378,7 @@ IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, double v2_Poin // Function implementations for IfcPolyLoop IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyLoop::Polygon() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPolyLoop::setPolygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcPolyLoop::Polygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcPolyLoop::is(Type::Enum v) const { return v == Type::IfcPolyLoop || IfcLoop::is(v); } Type::Enum IfcPolyLoop::type() const { return Type::IfcPolyLoop; } Type::Enum IfcPolyLoop::Class() { return Type::IfcPolyLoop; } @@ -12783,9 +12387,9 @@ IfcPolyLoop::IfcPolyLoop(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Pol // Function implementations for IfcPolygonalBoundedHalfSpace IfcAxis2Placement3D* IfcPolygonalBoundedHalfSpace::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPolygonalBoundedHalfSpace::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPolygonalBoundedHalfSpace::Position(IfcAxis2Placement3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcBoundedCurve* IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return (IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(IfcBoundedCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPolygonalBoundedHalfSpace::PolygonalBoundary(IfcBoundedCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcPolygonalBoundedHalfSpace::is(Type::Enum v) const { return v == Type::IfcPolygonalBoundedHalfSpace || IfcHalfSpaceSolid::is(v); } Type::Enum IfcPolygonalBoundedHalfSpace::type() const { return Type::IfcPolygonalBoundedHalfSpace; } Type::Enum IfcPolygonalBoundedHalfSpace::Class() { return Type::IfcPolygonalBoundedHalfSpace; } @@ -12794,7 +12398,7 @@ IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSu // Function implementations for IfcPolyline IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyline::Points() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPolyline::setPoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcPolyline::Points(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcPolyline::is(Type::Enum v) const { return v == Type::IfcPolyline || IfcBoundedCurve::is(v); } Type::Enum IfcPolyline::type() const { return Type::IfcPolyline; } Type::Enum IfcPolyline::Class() { return Type::IfcPolyline; } @@ -12809,30 +12413,23 @@ bool IfcPort::is(Type::Enum v) const { return v == Type::IfcPort || IfcProduct:: Type::Enum IfcPort::type() const { return Type::IfcPort; } Type::Enum IfcPort::Class() { return Type::IfcPort; } IfcPort::IfcPort(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPort::IfcPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcPort::IfcPort(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPostalAddress -bool IfcPostalAddress::hasInternalLocation() const { return !entity->getArgument(3)->isNull(); } -std::string IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } -void IfcPostalAddress::setInternalLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPostalAddress::hasAddressLines() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } -void IfcPostalAddress::setAddressLines(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPostalAddress::hasPostalBox() const { return !entity->getArgument(5)->isNull(); } -std::string IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } -void IfcPostalAddress::setPostalBox(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPostalAddress::hasTown() const { return !entity->getArgument(6)->isNull(); } -std::string IfcPostalAddress::Town() const { return *entity->getArgument(6); } -void IfcPostalAddress::setTown(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPostalAddress::hasRegion() const { return !entity->getArgument(7)->isNull(); } -std::string IfcPostalAddress::Region() const { return *entity->getArgument(7); } -void IfcPostalAddress::setRegion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPostalAddress::hasPostalCode() const { return !entity->getArgument(8)->isNull(); } -std::string IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } -void IfcPostalAddress::setPostalCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcPostalAddress::hasCountry() const { return !entity->getArgument(9)->isNull(); } -std::string IfcPostalAddress::Country() const { return *entity->getArgument(9); } -void IfcPostalAddress::setCountry(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< std::string > IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } +void IfcPostalAddress::InternalLocation(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } +void IfcPostalAddress::AddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } +void IfcPostalAddress::PostalBox(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcPostalAddress::Town() const { return *entity->getArgument(6); } +void IfcPostalAddress::Town(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcPostalAddress::Region() const { return *entity->getArgument(7); } +void IfcPostalAddress::Region(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } +void IfcPostalAddress::PostalCode(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcPostalAddress::Country() const { return *entity->getArgument(9); } +void IfcPostalAddress::Country(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcPostalAddress::is(Type::Enum v) const { return v == Type::IfcPostalAddress || IfcAddress::is(v); } Type::Enum IfcPostalAddress::type() const { return Type::IfcPostalAddress; } Type::Enum IfcPostalAddress::Class() { return Type::IfcPostalAddress; } @@ -12855,7 +12452,7 @@ IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefi // Function implementations for IfcPreDefinedItem std::string IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } -void IfcPreDefinedItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPreDefinedItem::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcPreDefinedItem::is(Type::Enum v) const { return v == Type::IfcPreDefinedItem || IfcPresentationItem::is(v); } Type::Enum IfcPreDefinedItem::type() const { return Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::Class() { return Type::IfcPreDefinedItem; } @@ -12874,7 +12471,7 @@ bool IfcPreDefinedPropertySet::is(Type::Enum v) const { return v == Type::IfcPre Type::Enum IfcPreDefinedPropertySet::type() const { return Type::IfcPreDefinedPropertySet; } Type::Enum IfcPreDefinedPropertySet::Class() { return Type::IfcPreDefinedPropertySet; } IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTextFont bool IfcPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedTextFont || IfcPreDefinedItem::is(v); } @@ -12892,15 +12489,13 @@ IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() { IfcWrita // Function implementations for IfcPresentationLayerAssignment std::string IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } -void IfcPresentationLayerAssignment::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPresentationLayerAssignment::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } -void IfcPresentationLayerAssignment::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcPresentationLayerAssignment::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } +void IfcPresentationLayerAssignment::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcEntityList::ptr IfcPresentationLayerAssignment::AssignedItems() const { return *entity->getArgument(2); } -void IfcPresentationLayerAssignment::setAssignedItems(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPresentationLayerAssignment::hasIdentifier() const { return !entity->getArgument(3)->isNull(); } -std::string IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } -void IfcPresentationLayerAssignment::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcPresentationLayerAssignment::AssignedItems(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< std::string > IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } +void IfcPresentationLayerAssignment::Identifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::type() const { return Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::Class() { return Type::IfcPresentationLayerAssignment; } @@ -12909,13 +12504,13 @@ IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Na // Function implementations for IfcPresentationLayerWithStyle bool IfcPresentationLayerWithStyle::LayerOn() const { return *entity->getArgument(4); } -void IfcPresentationLayerWithStyle::setLayerOn(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcPresentationLayerWithStyle::LayerOn(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcPresentationLayerWithStyle::LayerFrozen() const { return *entity->getArgument(5); } -void IfcPresentationLayerWithStyle::setLayerFrozen(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcPresentationLayerWithStyle::LayerFrozen(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcPresentationLayerWithStyle::LayerBlocked() const { return *entity->getArgument(6); } -void IfcPresentationLayerWithStyle::setLayerBlocked(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcPresentationLayerWithStyle::LayerBlocked(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } IfcTemplatedEntityList< IfcPresentationStyle >::ptr IfcPresentationLayerWithStyle::LayerStyles() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcPresentationLayerWithStyle::setLayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +void IfcPresentationLayerWithStyle::LayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } bool IfcPresentationLayerWithStyle::is(Type::Enum v) const { return v == Type::IfcPresentationLayerWithStyle || IfcPresentationLayerAssignment::is(v); } Type::Enum IfcPresentationLayerWithStyle::type() const { return Type::IfcPresentationLayerWithStyle; } Type::Enum IfcPresentationLayerWithStyle::Class() { return Type::IfcPresentationLayerWithStyle; } @@ -12923,9 +12518,8 @@ IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntity* IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyle -bool IfcPresentationStyle::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcPresentationStyle::Name() const { return *entity->getArgument(0); } -void IfcPresentationStyle::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcPresentationStyle::Name() const { return *entity->getArgument(0); } +void IfcPresentationStyle::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcPresentationStyle::is(Type::Enum v) const { return v == Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } @@ -12934,7 +12528,7 @@ IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Nam // Function implementations for IfcPresentationStyleAssignment IfcEntityList::ptr IfcPresentationStyleAssignment::Styles() const { return *entity->getArgument(0); } -void IfcPresentationStyleAssignment::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPresentationStyleAssignment::Styles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcPresentationStyleAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationStyleAssignment; } Type::Enum IfcPresentationStyleAssignment::type() const { return Type::IfcPresentationStyleAssignment; } Type::Enum IfcPresentationStyleAssignment::Class() { return Type::IfcPresentationStyleAssignment; } @@ -12942,31 +12536,28 @@ IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcAbstractEntity IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityList::ptr v1_Styles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcedure -bool IfcProcedure::hasPredefinedType() const { return !entity->getArgument(7)->isNull(); } -IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedure::PredefinedType() const { return IfcProcedureTypeEnum::FromString(*entity->getArgument(7)); } -void IfcProcedure::setPredefinedType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcProcedureTypeEnum::ToString(v)); } +boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > IfcProcedure::PredefinedType() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcProcedureTypeEnum::FromString(*arg); } } +void IfcProcedure::PredefinedType(boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcProcedureTypeEnum::ToString(*v));; } else { w->setArgument(7); } } bool IfcProcedure::is(Type::Enum v) const { return v == Type::IfcProcedure || IfcProcess::is(v); } Type::Enum IfcProcedure::type() const { return Type::IfcProcedure; } Type::Enum IfcProcedure::Class() { return Type::IfcProcedure; } IfcProcedure::IfcProcedure(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedure::IfcProcedure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcProcedureTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProcedure::IfcProcedure(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcProcedureTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcedureType IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedureType::PredefinedType() const { return IfcProcedureTypeEnum::FromString(*entity->getArgument(9)); } -void IfcProcedureType::setPredefinedType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcProcedureTypeEnum::ToString(v)); } +void IfcProcedureType::PredefinedType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcProcedureTypeEnum::ToString(v));; } bool IfcProcedureType::is(Type::Enum v) const { return v == Type::IfcProcedureType || IfcTypeProcess::is(v); } Type::Enum IfcProcedureType::type() const { return Type::IfcProcedureType; } Type::Enum IfcProcedureType::Class() { return Type::IfcProcedureType; } IfcProcedureType::IfcProcedureType(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProcedureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProcedureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcess -bool IfcProcess::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -std::string IfcProcess::Identification() const { return *entity->getArgument(5); } -void IfcProcess::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProcess::hasLongDescription() const { return !entity->getArgument(6)->isNull(); } -std::string IfcProcess::LongDescription() const { return *entity->getArgument(6); } -void IfcProcess::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< std::string > IfcProcess::Identification() const { return *entity->getArgument(5); } +void IfcProcess::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcProcess::LongDescription() const { return *entity->getArgument(6); } +void IfcProcess::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return entity->getInverse(Type::IfcRelSequence, 4)->as(); } IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return entity->getInverse(Type::IfcRelSequence, 5)->as(); } IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess, 6)->as(); } @@ -12974,21 +12565,19 @@ bool IfcProcess::is(Type::Enum v) const { return v == Type::IfcProcess || IfcObj Type::Enum IfcProcess::type() const { return Type::IfcProcess; } Type::Enum IfcProcess::Class() { return Type::IfcProcess; } IfcProcess::IfcProcess(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcess::IfcProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcProcess::IfcProcess(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProduct -bool IfcProduct::hasObjectPlacement() const { return !entity->getArgument(5)->isNull(); } -IfcObjectPlacement* IfcProduct::ObjectPlacement() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcProduct::setObjectPlacement(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProduct::hasRepresentation() const { return !entity->getArgument(6)->isNull(); } -IfcProductRepresentation* IfcProduct::Representation() const { return (IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcProduct::setRepresentation(IfcProductRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< IfcObjectPlacement* > IfcProduct::ObjectPlacement() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcProduct::ObjectPlacement(boost::optional< IfcObjectPlacement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcProductRepresentation* > IfcProduct::Representation() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcProductRepresentation*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcProduct::Representation(boost::optional< IfcProductRepresentation* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct, 6)->as(); } bool IfcProduct::is(Type::Enum v) const { return v == Type::IfcProduct || IfcObject::is(v); } Type::Enum IfcProduct::type() const { return Type::IfcProduct; } Type::Enum IfcProduct::Class() { return Type::IfcProduct; } IfcProduct::IfcProduct(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcProduct::IfcProduct(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductDefinitionShape IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return entity->getInverse(Type::IfcProduct, 6)->as(); } @@ -13000,14 +12589,12 @@ IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntity* e) : Ifc IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductRepresentation -bool IfcProductRepresentation::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcProductRepresentation::Name() const { return *entity->getArgument(0); } -void IfcProductRepresentation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProductRepresentation::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcProductRepresentation::Description() const { return *entity->getArgument(1); } -void IfcProductRepresentation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcProductRepresentation::Name() const { return *entity->getArgument(0); } +void IfcProductRepresentation::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcProductRepresentation::Description() const { return *entity->getArgument(1); } +void IfcProductRepresentation::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcTemplatedEntityList< IfcRepresentation >::ptr IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcProductRepresentation::Representations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcProductRepresentation::is(Type::Enum v) const { return v == Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::type() const { return Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::Class() { return Type::IfcProductRepresentation; } @@ -13016,10 +12603,9 @@ IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string // Function implementations for IfcProfileDef IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileDef::ProfileType() const { return IfcProfileTypeEnum::FromString(*entity->getArgument(0)); } -void IfcProfileDef::setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcProfileTypeEnum::ToString(v)); } -bool IfcProfileDef::hasProfileName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } -void IfcProfileDef::setProfileName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcProfileDef::ProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcProfileTypeEnum::ToString(v));; } +boost::optional< std::string > IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } +void IfcProfileDef::ProfileName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcExternalReferenceRelationship::list::ptr IfcProfileDef::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } IfcProfileProperties::list::ptr IfcProfileDef::HasProperties() const { return entity->getInverse(Type::IfcProfileProperties, 3)->as(); } bool IfcProfileDef::is(Type::Enum v) const { return v == Type::IfcProfileDef; } @@ -13030,7 +12616,7 @@ IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileTy // Function implementations for IfcProfileProperties IfcProfileDef* IfcProfileProperties::ProfileDefinition() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcProfileProperties::setProfileDefinition(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcProfileProperties::ProfileDefinition(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcProfileProperties::is(Type::Enum v) const { return v == Type::IfcProfileProperties || IfcExtendedProperties::is(v); } Type::Enum IfcProfileProperties::type() const { return Type::IfcProfileProperties; } Type::Enum IfcProfileProperties::Class() { return Type::IfcProfileProperties; } @@ -13042,63 +12628,55 @@ bool IfcProject::is(Type::Enum v) const { return v == Type::IfcProject || IfcCon Type::Enum IfcProject::type() const { return Type::IfcProject; } Type::Enum IfcProject::Class() { return Type::IfcProject; } IfcProject::IfcProject(IfcAbstractEntity* e) : IfcContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProject::IfcProject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcProject::IfcProject(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, boost::optional< IfcUnitAssignment* > v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } if (v9_UnitsInContext) { e->setArgument(8,(*v9_UnitsInContext)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectLibrary bool IfcProjectLibrary::is(Type::Enum v) const { return v == Type::IfcProjectLibrary || IfcContext::is(v); } Type::Enum IfcProjectLibrary::type() const { return Type::IfcProjectLibrary; } Type::Enum IfcProjectLibrary::Class() { return Type::IfcProjectLibrary; } IfcProjectLibrary::IfcProjectLibrary(IfcAbstractEntity* e) : IfcContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, boost::optional< IfcUnitAssignment* > v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } if (v9_UnitsInContext) { e->setArgument(8,(*v9_UnitsInContext)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrder -bool IfcProjectOrder::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } -IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrder::PredefinedType() const { return IfcProjectOrderTypeEnum::FromString(*entity->getArgument(6)); } -void IfcProjectOrder::setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProjectOrderTypeEnum::ToString(v)); } -bool IfcProjectOrder::hasStatus() const { return !entity->getArgument(7)->isNull(); } -std::string IfcProjectOrder::Status() const { return *entity->getArgument(7); } -void IfcProjectOrder::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcProjectOrder::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } -std::string IfcProjectOrder::LongDescription() const { return *entity->getArgument(8); } -void IfcProjectOrder::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > IfcProjectOrder::PredefinedType() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return IfcProjectOrderTypeEnum::FromString(*arg); } } +void IfcProjectOrder::PredefinedType(boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v,IfcProjectOrderTypeEnum::ToString(*v));; } else { w->setArgument(6); } } +boost::optional< std::string > IfcProjectOrder::Status() const { return *entity->getArgument(7); } +void IfcProjectOrder::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcProjectOrder::LongDescription() const { return *entity->getArgument(8); } +void IfcProjectOrder::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcProjectOrder::is(Type::Enum v) const { return v == Type::IfcProjectOrder || IfcControl::is(v); } Type::Enum IfcProjectOrder::type() const { return Type::IfcProjectOrder; } Type::Enum IfcProjectOrder::Class() { return Type::IfcProjectOrder; } IfcProjectOrder::IfcProjectOrder(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectedCRS -bool IfcProjectedCRS::hasMapProjection() const { return !entity->getArgument(4)->isNull(); } -std::string IfcProjectedCRS::MapProjection() const { return *entity->getArgument(4); } -void IfcProjectedCRS::setMapProjection(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcProjectedCRS::hasMapZone() const { return !entity->getArgument(5)->isNull(); } -std::string IfcProjectedCRS::MapZone() const { return *entity->getArgument(5); } -void IfcProjectedCRS::setMapZone(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProjectedCRS::hasMapUnit() const { return !entity->getArgument(6)->isNull(); } -IfcNamedUnit* IfcProjectedCRS::MapUnit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcProjectedCRS::setMapUnit(IfcNamedUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< std::string > IfcProjectedCRS::MapProjection() const { return *entity->getArgument(4); } +void IfcProjectedCRS::MapProjection(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcProjectedCRS::MapZone() const { return *entity->getArgument(5); } +void IfcProjectedCRS::MapZone(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcNamedUnit* > IfcProjectedCRS::MapUnit() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcProjectedCRS::MapUnit(boost::optional< IfcNamedUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcProjectedCRS::is(Type::Enum v) const { return v == Type::IfcProjectedCRS || IfcCoordinateReferenceSystem::is(v); } Type::Enum IfcProjectedCRS::type() const { return Type::IfcProjectedCRS; } Type::Enum IfcProjectedCRS::Class() { return Type::IfcProjectedCRS; } IfcProjectedCRS::IfcProjectedCRS(IfcAbstractEntity* e) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectedCRS)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectedCRS::IfcProjectedCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } +IfcProjectedCRS::IfcProjectedCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, boost::optional< IfcNamedUnit* > v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } if (v7_MapUnit) { e->setArgument(6,(*v7_MapUnit)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement -bool IfcProjectionElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum IfcProjectionElement::PredefinedType() const { return IfcProjectionElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcProjectionElement::setPredefinedType(IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcProjectionElementTypeEnum::ToString(v)); } +boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > IfcProjectionElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcProjectionElementTypeEnum::FromString(*arg); } } +void IfcProjectionElement::PredefinedType(boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcProjectionElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcProjectionElement::is(Type::Enum v) const { return v == Type::IfcProjectionElement || IfcFeatureElementAddition::is(v); } Type::Enum IfcProjectionElement::type() const { return Type::IfcProjectionElement; } Type::Enum IfcProjectionElement::Class() { return Type::IfcProjectionElement; } IfcProjectionElement::IfcProjectionElement(IfcAbstractEntity* e) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProjectionElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProjectionElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProperty std::string IfcProperty::Name() const { return *entity->getArgument(0); } -void IfcProperty::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProperty::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcProperty::Description() const { return *entity->getArgument(1); } -void IfcProperty::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcProperty::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcProperty::Description() const { return *entity->getArgument(1); } +void IfcProperty::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return entity->getInverse(Type::IfcPropertySet, 4)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 2)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 3)->as(); } @@ -13118,23 +12696,19 @@ IfcPropertyAbstraction::IfcPropertyAbstraction(IfcAbstractEntity* e) : IfcUtil:: IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyBoundedValue -bool IfcPropertyBoundedValue::hasUpperBoundValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue* IfcPropertyBoundedValue::UpperBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyBoundedValue::hasLowerBoundValue() const { return !entity->getArgument(3)->isNull(); } -IfcValue* IfcPropertyBoundedValue::LowerBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyBoundedValue::hasUnit() const { return !entity->getArgument(4)->isNull(); } -IfcUnit* IfcPropertyBoundedValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcPropertyBoundedValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPropertyBoundedValue::hasSetPointValue() const { return !entity->getArgument(5)->isNull(); } -IfcValue* IfcPropertyBoundedValue::SetPointValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcPropertyBoundedValue::setSetPointValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< IfcValue* > IfcPropertyBoundedValue::UpperBoundValue() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::UpperBoundValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcValue* > IfcPropertyBoundedValue::LowerBoundValue() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::LowerBoundValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcUnit* > IfcPropertyBoundedValue::Unit() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcValue* > IfcPropertyBoundedValue::SetPointValue() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyBoundedValue::SetPointValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcPropertyBoundedValue::is(Type::Enum v) const { return v == Type::IfcPropertyBoundedValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyBoundedValue::type() const { return Type::IfcPropertyBoundedValue; } Type::Enum IfcPropertyBoundedValue::Class() { return Type::IfcPropertyBoundedValue; } IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit, IfcValue* v6_SetPointValue) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UpperBoundValue)); e->setArgument(3,(v4_LowerBoundValue)); e->setArgument(4,(v5_Unit)); e->setArgument(5,(v6_SetPointValue)); entity = e; EntityBuffer::Add(this); } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_UpperBoundValue, boost::optional< IfcValue* > v4_LowerBoundValue, boost::optional< IfcUnit* > v5_Unit, boost::optional< IfcValue* > v6_SetPointValue) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } if (v6_SetPointValue) { e->setArgument(5,(*v6_SetPointValue)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDefinition IfcRelDeclares::list::ptr IfcPropertyDefinition::HasContext() const { return entity->getInverse(Type::IfcRelDeclares, 5)->as(); } @@ -13143,16 +12717,15 @@ bool IfcPropertyDefinition::is(Type::Enum v) const { return v == Type::IfcProper Type::Enum IfcPropertyDefinition::type() const { return Type::IfcPropertyDefinition; } Type::Enum IfcPropertyDefinition::Class() { return Type::IfcPropertyDefinition; } IfcPropertyDefinition::IfcPropertyDefinition(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDependencyRelationship IfcProperty* IfcPropertyDependencyRelationship::DependingProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertyDependencyRelationship::setDependingProperty(IfcProperty* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPropertyDependencyRelationship::DependingProperty(IfcProperty* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcProperty* IfcPropertyDependencyRelationship::DependantProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyDependencyRelationship::setDependantProperty(IfcProperty* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyDependencyRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } -std::string IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } -void IfcPropertyDependencyRelationship::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcPropertyDependencyRelationship::DependantProperty(IfcProperty* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } +void IfcPropertyDependencyRelationship::Expression(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcPropertyDependencyRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyDependencyRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } @@ -13160,66 +12733,59 @@ IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstract IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DependingProperty)); e->setArgument(3,(v4_DependantProperty)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeratedValue -bool IfcPropertyEnumeratedValue::hasEnumerationValues() const { return !entity->getArgument(2)->isNull(); } -IfcEntityList::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { return *entity->getArgument(2); } -void IfcPropertyEnumeratedValue::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyEnumeratedValue::hasEnumerationReference() const { return !entity->getArgument(3)->isNull(); } -IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() const { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyEnumeratedValue::setEnumerationReference(IfcPropertyEnumeration* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcEntityList::ptr > IfcPropertyEnumeratedValue::EnumerationValues() const { return *entity->getArgument(2); } +void IfcPropertyEnumeratedValue::EnumerationValues(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcPropertyEnumeration* > IfcPropertyEnumeratedValue::EnumerationReference() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyEnumeratedValue::EnumerationReference(boost::optional< IfcPropertyEnumeration* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertyEnumeratedValue::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeratedValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyEnumeratedValue::type() const { return Type::IfcPropertyEnumeratedValue; } Type::Enum IfcPropertyEnumeratedValue::Class() { return Type::IfcPropertyEnumeratedValue; } IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_EnumerationValues) { e->setArgument(2,(*v3_EnumerationValues)); } else { e->setArgument(2); } e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, boost::optional< IfcPropertyEnumeration* > v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_EnumerationValues) { e->setArgument(2,(*v3_EnumerationValues)); } else { e->setArgument(2); } if (v4_EnumerationReference) { e->setArgument(3,(*v4_EnumerationReference)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeration std::string IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } -void IfcPropertyEnumeration::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcPropertyEnumeration::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcPropertyEnumeration::EnumerationValues() const { return *entity->getArgument(1); } -void IfcPropertyEnumeration::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPropertyEnumeration::hasUnit() const { return !entity->getArgument(2)->isNull(); } -IfcUnit* IfcPropertyEnumeration::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertyEnumeration::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcPropertyEnumeration::EnumerationValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcUnit* > IfcPropertyEnumeration::Unit() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyEnumeration::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcPropertyEnumeration::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeration || IfcPropertyAbstraction::is(v); } Type::Enum IfcPropertyEnumeration::type() const { return Type::IfcPropertyEnumeration; } Type::Enum IfcPropertyEnumeration::Class() { return Type::IfcPropertyEnumeration; } IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit* > v3_Unit) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyListValue -bool IfcPropertyListValue::hasListValues() const { return !entity->getArgument(2)->isNull(); } -IfcEntityList::ptr IfcPropertyListValue::ListValues() const { return *entity->getArgument(2); } -void IfcPropertyListValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyListValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit* IfcPropertyListValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyListValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcEntityList::ptr > IfcPropertyListValue::ListValues() const { return *entity->getArgument(2); } +void IfcPropertyListValue::ListValues(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcUnit* > IfcPropertyListValue::Unit() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyListValue::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertyListValue::is(Type::Enum v) const { return v == Type::IfcPropertyListValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyListValue::type() const { return Type::IfcPropertyListValue; } Type::Enum IfcPropertyListValue::Class() { return Type::IfcPropertyListValue; } IfcPropertyListValue::IfcPropertyListValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_ListValues) { e->setArgument(2,(*v3_ListValues)); } else { e->setArgument(2); } e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, boost::optional< IfcUnit* > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_ListValues) { e->setArgument(2,(*v3_ListValues)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyReferenceValue -bool IfcPropertyReferenceValue::hasUsageName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } -void IfcPropertyReferenceValue::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyReferenceValue::hasPropertyReference() const { return !entity->getArgument(3)->isNull(); } -IfcObjectReferenceSelect* IfcPropertyReferenceValue::PropertyReference() const { return (IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< std::string > IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } +void IfcPropertyReferenceValue::UsageName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcObjectReferenceSelect* > IfcPropertyReferenceValue::PropertyReference() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyReferenceValue::PropertyReference(boost::optional< IfcObjectReferenceSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertyReferenceValue::is(Type::Enum v) const { return v == Type::IfcPropertyReferenceValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyReferenceValue::type() const { return Type::IfcPropertyReferenceValue; } Type::Enum IfcPropertyReferenceValue::Class() { return Type::IfcPropertyReferenceValue; } IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } e->setArgument(3,(v4_PropertyReference)); entity = e; EntityBuffer::Add(this); } +IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, boost::optional< IfcObjectReferenceSelect* > v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } if (v4_PropertyReference) { e->setArgument(3,(*v4_PropertyReference)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySet IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertySet::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcPropertySet::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcPropertySet::HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } bool IfcPropertySet::is(Type::Enum v) const { return v == Type::IfcPropertySet || IfcPropertySetDefinition::is(v); } Type::Enum IfcPropertySet::type() const { return Type::IfcPropertySet; } Type::Enum IfcPropertySet::Class() { return Type::IfcPropertySet; } IfcPropertySet::IfcPropertySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetDefinition IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return entity->getInverse(Type::IfcTypeObject, 5)->as(); } @@ -13229,61 +12795,51 @@ bool IfcPropertySetDefinition::is(Type::Enum v) const { return v == Type::IfcPro Type::Enum IfcPropertySetDefinition::type() const { return Type::IfcPropertySetDefinition; } Type::Enum IfcPropertySetDefinition::Class() { return Type::IfcPropertySetDefinition; } IfcPropertySetDefinition::IfcPropertySetDefinition(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetTemplate -bool IfcPropertySetTemplate::hasTemplateType() const { return !entity->getArgument(4)->isNull(); } -IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum IfcPropertySetTemplate::TemplateType() const { return IfcPropertySetTemplateTypeEnum::FromString(*entity->getArgument(4)); } -void IfcPropertySetTemplate::setTemplateType(IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcPropertySetTemplateTypeEnum::ToString(v)); } -bool IfcPropertySetTemplate::hasApplicableEntity() const { return !entity->getArgument(5)->isNull(); } -std::string IfcPropertySetTemplate::ApplicableEntity() const { return *entity->getArgument(5); } -void IfcPropertySetTemplate::setApplicableEntity(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > IfcPropertySetTemplate::TemplateType() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return IfcPropertySetTemplateTypeEnum::FromString(*arg); } } +void IfcPropertySetTemplate::TemplateType(boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v,IfcPropertySetTemplateTypeEnum::ToString(*v));; } else { w->setArgument(4); } } +boost::optional< std::string > IfcPropertySetTemplate::ApplicableEntity() const { return *entity->getArgument(5); } +void IfcPropertySetTemplate::ApplicableEntity(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcTemplatedEntityList< IfcPropertyTemplate >::ptr IfcPropertySetTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcPropertySetTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +void IfcPropertySetTemplate::HasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v->generalize());; } IfcRelDefinesByTemplate::list::ptr IfcPropertySetTemplate::Defines() const { return entity->getInverse(Type::IfcRelDefinesByTemplate, 5)->as(); } bool IfcPropertySetTemplate::is(Type::Enum v) const { return v == Type::IfcPropertySetTemplate || IfcPropertyTemplateDefinition::is(v); } Type::Enum IfcPropertySetTemplate::type() const { return Type::IfcPropertySetTemplate; } Type::Enum IfcPropertySetTemplate::Class() { return Type::IfcPropertySetTemplate; } IfcPropertySetTemplate::IfcPropertySetTemplate(IfcAbstractEntity* e) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_ApplicableEntity) { e->setArgument(5,(*v6_ApplicableEntity)); } else { e->setArgument(5); } e->setArgument(6,(v7_HasPropertyTemplates)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_ApplicableEntity) { e->setArgument(5,(*v6_ApplicableEntity)); } else { e->setArgument(5); } e->setArgument(6,(v7_HasPropertyTemplates)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySingleValue -bool IfcPropertySingleValue::hasNominalValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue* IfcPropertySingleValue::NominalValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcPropertySingleValue::setNominalValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertySingleValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit* IfcPropertySingleValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcPropertySingleValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< IfcValue* > IfcPropertySingleValue::NominalValue() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertySingleValue::NominalValue(boost::optional< IfcValue* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcUnit* > IfcPropertySingleValue::Unit() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertySingleValue::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcPropertySingleValue::is(Type::Enum v) const { return v == Type::IfcPropertySingleValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertySingleValue::type() const { return Type::IfcPropertySingleValue; } Type::Enum IfcPropertySingleValue::Class() { return Type::IfcPropertySingleValue; } IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_NominalValue)); e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_NominalValue, boost::optional< IfcUnit* > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTableValue -bool IfcPropertyTableValue::hasDefiningValues() const { return !entity->getArgument(2)->isNull(); } -IfcEntityList::ptr IfcPropertyTableValue::DefiningValues() const { return *entity->getArgument(2); } -void IfcPropertyTableValue::setDefiningValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyTableValue::hasDefinedValues() const { return !entity->getArgument(3)->isNull(); } -IfcEntityList::ptr IfcPropertyTableValue::DefinedValues() const { return *entity->getArgument(3); } -void IfcPropertyTableValue::setDefinedValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyTableValue::hasExpression() const { return !entity->getArgument(4)->isNull(); } -std::string IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } -void IfcPropertyTableValue::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPropertyTableValue::hasDefiningUnit() const { return !entity->getArgument(5)->isNull(); } -IfcUnit* IfcPropertyTableValue::DefiningUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcPropertyTableValue::setDefiningUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPropertyTableValue::hasDefinedUnit() const { return !entity->getArgument(6)->isNull(); } -IfcUnit* IfcPropertyTableValue::DefinedUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcPropertyTableValue::setDefinedUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPropertyTableValue::hasCurveInterpolation() const { return !entity->getArgument(7)->isNull(); } -IfcCurveInterpolationEnum::IfcCurveInterpolationEnum IfcPropertyTableValue::CurveInterpolation() const { return IfcCurveInterpolationEnum::FromString(*entity->getArgument(7)); } -void IfcPropertyTableValue::setCurveInterpolation(IfcCurveInterpolationEnum::IfcCurveInterpolationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcCurveInterpolationEnum::ToString(v)); } +boost::optional< IfcEntityList::ptr > IfcPropertyTableValue::DefiningValues() const { return *entity->getArgument(2); } +void IfcPropertyTableValue::DefiningValues(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcEntityList::ptr > IfcPropertyTableValue::DefinedValues() const { return *entity->getArgument(3); } +void IfcPropertyTableValue::DefinedValues(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } +void IfcPropertyTableValue::Expression(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcUnit* > IfcPropertyTableValue::DefiningUnit() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyTableValue::DefiningUnit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcUnit* > IfcPropertyTableValue::DefinedUnit() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcPropertyTableValue::DefinedUnit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > IfcPropertyTableValue::CurveInterpolation() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcCurveInterpolationEnum::FromString(*arg); } } +void IfcPropertyTableValue::CurveInterpolation(boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcCurveInterpolationEnum::ToString(*v));; } else { w->setArgument(7); } } bool IfcPropertyTableValue::is(Type::Enum v) const { return v == Type::IfcPropertyTableValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyTableValue::type() const { return Type::IfcPropertyTableValue; } Type::Enum IfcPropertyTableValue::Class() { return Type::IfcPropertyTableValue; } IfcPropertyTableValue::IfcPropertyTableValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_DefiningValues) { e->setArgument(2,(*v3_DefiningValues)); } else { e->setArgument(2); } if (v4_DefinedValues) { e->setArgument(3,(*v4_DefinedValues)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } e->setArgument(5,(v6_DefiningUnit)); e->setArgument(6,(v7_DefinedUnit)); if (v8_CurveInterpolation) { e->setArgument(7,*v8_CurveInterpolation,IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, boost::optional< IfcUnit* > v6_DefiningUnit, boost::optional< IfcUnit* > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_DefiningValues) { e->setArgument(2,(*v3_DefiningValues)); } else { e->setArgument(2); } if (v4_DefinedValues) { e->setArgument(3,(*v4_DefinedValues)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } if (v8_CurveInterpolation) { e->setArgument(7,*v8_CurveInterpolation,IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTemplate IfcComplexPropertyTemplate::list::ptr IfcPropertyTemplate::PartOfComplexTemplate() const { return entity->getInverse(Type::IfcComplexPropertyTemplate, 6)->as(); } @@ -13292,223 +12848,210 @@ bool IfcPropertyTemplate::is(Type::Enum v) const { return v == Type::IfcProperty Type::Enum IfcPropertyTemplate::type() const { return Type::IfcPropertyTemplate; } Type::Enum IfcPropertyTemplate::Class() { return Type::IfcPropertyTemplate; } IfcPropertyTemplate::IfcPropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTemplateDefinition bool IfcPropertyTemplateDefinition::is(Type::Enum v) const { return v == Type::IfcPropertyTemplateDefinition || IfcPropertyDefinition::is(v); } Type::Enum IfcPropertyTemplateDefinition::type() const { return Type::IfcPropertyTemplateDefinition; } Type::Enum IfcPropertyTemplateDefinition::Class() { return Type::IfcPropertyTemplateDefinition; } IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplateDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDevice -bool IfcProtectiveDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDevice::PredefinedType() const { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcProtectiveDevice::setPredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcProtectiveDeviceTypeEnum::ToString(v)); } +boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > IfcProtectiveDevice::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcProtectiveDeviceTypeEnum::FromString(*arg); } } +void IfcProtectiveDevice::PredefinedType(boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcProtectiveDeviceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcProtectiveDevice::is(Type::Enum v) const { return v == Type::IfcProtectiveDevice || IfcFlowController::is(v); } Type::Enum IfcProtectiveDevice::type() const { return Type::IfcProtectiveDevice; } Type::Enum IfcProtectiveDevice::Class() { return Type::IfcProtectiveDevice; } IfcProtectiveDevice::IfcProtectiveDevice(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceTrippingUnit -bool IfcProtectiveDeviceTrippingUnit::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum IfcProtectiveDeviceTrippingUnit::PredefinedType() const { return IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*entity->getArgument(8)); } -void IfcProtectiveDeviceTrippingUnit::setPredefinedType(IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v)); } +boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > IfcProtectiveDeviceTrippingUnit::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*arg); } } +void IfcProtectiveDeviceTrippingUnit::PredefinedType(boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcProtectiveDeviceTrippingUnit::is(Type::Enum v) const { return v == Type::IfcProtectiveDeviceTrippingUnit || IfcDistributionControlElement::is(v); } Type::Enum IfcProtectiveDeviceTrippingUnit::type() const { return Type::IfcProtectiveDeviceTrippingUnit; } Type::Enum IfcProtectiveDeviceTrippingUnit::Class() { return Type::IfcProtectiveDeviceTrippingUnit; } IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceTrippingUnitType IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*entity->getArgument(9)); } -void IfcProtectiveDeviceTrippingUnitType::setPredefinedType(IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v)); } +void IfcProtectiveDeviceTrippingUnitType::PredefinedType(IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v));; } bool IfcProtectiveDeviceTrippingUnitType::is(Type::Enum v) const { return v == Type::IfcProtectiveDeviceTrippingUnitType || IfcDistributionControlElementType::is(v); } Type::Enum IfcProtectiveDeviceTrippingUnitType::type() const { return Type::IfcProtectiveDeviceTrippingUnitType; } Type::Enum IfcProtectiveDeviceTrippingUnitType::Class() { return Type::IfcProtectiveDeviceTrippingUnitType; } IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnitType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceType IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceType::PredefinedType() const { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcProtectiveDeviceType::setPredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcProtectiveDeviceTypeEnum::ToString(v)); } +void IfcProtectiveDeviceType::PredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcProtectiveDeviceTypeEnum::ToString(v));; } bool IfcProtectiveDeviceType::is(Type::Enum v) const { return v == Type::IfcProtectiveDeviceType || IfcFlowControllerType::is(v); } Type::Enum IfcProtectiveDeviceType::type() const { return Type::IfcProtectiveDeviceType; } Type::Enum IfcProtectiveDeviceType::Class() { return Type::IfcProtectiveDeviceType; } IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProxy IfcObjectTypeEnum::IfcObjectTypeEnum IfcProxy::ProxyType() const { return IfcObjectTypeEnum::FromString(*entity->getArgument(7)); } -void IfcProxy::setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcObjectTypeEnum::ToString(v)); } -bool IfcProxy::hasTag() const { return !entity->getArgument(8)->isNull(); } -std::string IfcProxy::Tag() const { return *entity->getArgument(8); } -void IfcProxy::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcProxy::ProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcObjectTypeEnum::ToString(v));; } +boost::optional< std::string > IfcProxy::Tag() const { return *entity->getArgument(8); } +void IfcProxy::Tag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcProxy::is(Type::Enum v) const { return v == Type::IfcProxy || IfcProduct::is(v); } Type::Enum IfcProxy::type() const { return Type::IfcProxy; } Type::Enum IfcProxy::Class() { return Type::IfcProxy; } IfcProxy::IfcProxy(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProxy::IfcProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProxy::IfcProxy(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPump -bool IfcPump::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcPumpTypeEnum::IfcPumpTypeEnum IfcPump::PredefinedType() const { return IfcPumpTypeEnum::FromString(*entity->getArgument(8)); } -void IfcPump::setPredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcPumpTypeEnum::ToString(v)); } +boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > IfcPump::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcPumpTypeEnum::FromString(*arg); } } +void IfcPump::PredefinedType(boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcPumpTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcPump::is(Type::Enum v) const { return v == Type::IfcPump || IfcFlowMovingDevice::is(v); } Type::Enum IfcPump::type() const { return Type::IfcPump; } Type::Enum IfcPump::Class() { return Type::IfcPump; } IfcPump::IfcPump(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPump)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPump::IfcPump(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPumpTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPump::IfcPump(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPumpTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPumpType IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpType::PredefinedType() const { return IfcPumpTypeEnum::FromString(*entity->getArgument(9)); } -void IfcPumpType::setPredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcPumpTypeEnum::ToString(v)); } +void IfcPumpType::PredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcPumpTypeEnum::ToString(v));; } bool IfcPumpType::is(Type::Enum v) const { return v == Type::IfcPumpType || IfcFlowMovingDeviceType::is(v); } Type::Enum IfcPumpType::type() const { return Type::IfcPumpType; } Type::Enum IfcPumpType::Class() { return Type::IfcPumpType; } IfcPumpType::IfcPumpType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPumpType::IfcPumpType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPumpType::IfcPumpType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityArea double IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } -void IfcQuantityArea::setAreaValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityArea::hasFormula() const { return !entity->getArgument(4)->isNull(); } -std::string IfcQuantityArea::Formula() const { return *entity->getArgument(4); } -void IfcQuantityArea::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcQuantityArea::AreaValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcQuantityArea::Formula() const { return *entity->getArgument(4); } +void IfcQuantityArea::Formula(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcQuantityArea::is(Type::Enum v) const { return v == Type::IfcQuantityArea || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityArea::type() const { return Type::IfcQuantityArea; } Type::Enum IfcQuantityArea::Class() { return Type::IfcQuantityArea; } IfcQuantityArea::IfcQuantityArea(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_AreaValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityCount double IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } -void IfcQuantityCount::setCountValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityCount::hasFormula() const { return !entity->getArgument(4)->isNull(); } -std::string IfcQuantityCount::Formula() const { return *entity->getArgument(4); } -void IfcQuantityCount::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcQuantityCount::CountValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcQuantityCount::Formula() const { return *entity->getArgument(4); } +void IfcQuantityCount::Formula(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcQuantityCount::is(Type::Enum v) const { return v == Type::IfcQuantityCount || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityCount::type() const { return Type::IfcQuantityCount; } Type::Enum IfcQuantityCount::Class() { return Type::IfcQuantityCount; } IfcQuantityCount::IfcQuantityCount(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_CountValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityLength double IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } -void IfcQuantityLength::setLengthValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityLength::hasFormula() const { return !entity->getArgument(4)->isNull(); } -std::string IfcQuantityLength::Formula() const { return *entity->getArgument(4); } -void IfcQuantityLength::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcQuantityLength::LengthValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcQuantityLength::Formula() const { return *entity->getArgument(4); } +void IfcQuantityLength::Formula(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcQuantityLength::is(Type::Enum v) const { return v == Type::IfcQuantityLength || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityLength::type() const { return Type::IfcQuantityLength; } Type::Enum IfcQuantityLength::Class() { return Type::IfcQuantityLength; } IfcQuantityLength::IfcQuantityLength(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_LengthValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantitySet bool IfcQuantitySet::is(Type::Enum v) const { return v == Type::IfcQuantitySet || IfcPropertySetDefinition::is(v); } Type::Enum IfcQuantitySet::type() const { return Type::IfcQuantitySet; } Type::Enum IfcQuantitySet::Class() { return Type::IfcQuantitySet; } IfcQuantitySet::IfcQuantitySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantitySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityTime double IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } -void IfcQuantityTime::setTimeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityTime::hasFormula() const { return !entity->getArgument(4)->isNull(); } -std::string IfcQuantityTime::Formula() const { return *entity->getArgument(4); } -void IfcQuantityTime::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcQuantityTime::TimeValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcQuantityTime::Formula() const { return *entity->getArgument(4); } +void IfcQuantityTime::Formula(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcQuantityTime::is(Type::Enum v) const { return v == Type::IfcQuantityTime || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityTime::type() const { return Type::IfcQuantityTime; } Type::Enum IfcQuantityTime::Class() { return Type::IfcQuantityTime; } IfcQuantityTime::IfcQuantityTime(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_TimeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityVolume double IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } -void IfcQuantityVolume::setVolumeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityVolume::hasFormula() const { return !entity->getArgument(4)->isNull(); } -std::string IfcQuantityVolume::Formula() const { return *entity->getArgument(4); } -void IfcQuantityVolume::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcQuantityVolume::VolumeValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcQuantityVolume::Formula() const { return *entity->getArgument(4); } +void IfcQuantityVolume::Formula(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcQuantityVolume::is(Type::Enum v) const { return v == Type::IfcQuantityVolume || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityVolume::type() const { return Type::IfcQuantityVolume; } Type::Enum IfcQuantityVolume::Class() { return Type::IfcQuantityVolume; } IfcQuantityVolume::IfcQuantityVolume(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_VolumeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityWeight double IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } -void IfcQuantityWeight::setWeightValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityWeight::hasFormula() const { return !entity->getArgument(4)->isNull(); } -std::string IfcQuantityWeight::Formula() const { return *entity->getArgument(4); } -void IfcQuantityWeight::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcQuantityWeight::WeightValue(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< std::string > IfcQuantityWeight::Formula() const { return *entity->getArgument(4); } +void IfcQuantityWeight::Formula(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcQuantityWeight::is(Type::Enum v) const { return v == Type::IfcQuantityWeight || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityWeight::type() const { return Type::IfcQuantityWeight; } Type::Enum IfcQuantityWeight::Class() { return Type::IfcQuantityWeight; } IfcQuantityWeight::IfcQuantityWeight(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } e->setArgument(3,(v4_WeightValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailing -bool IfcRailing::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailing::PredefinedType() const { return IfcRailingTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRailing::setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRailingTypeEnum::ToString(v)); } +boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > IfcRailing::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcRailingTypeEnum::FromString(*arg); } } +void IfcRailing::PredefinedType(boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcRailingTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcRailing::is(Type::Enum v) const { return v == Type::IfcRailing || IfcBuildingElement::is(v); } Type::Enum IfcRailing::type() const { return Type::IfcRailing; } Type::Enum IfcRailing::Class() { return Type::IfcRailing; } IfcRailing::IfcRailing(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailing::IfcRailing(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRailing::IfcRailing(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailingType IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingType::PredefinedType() const { return IfcRailingTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRailingType::setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcRailingTypeEnum::ToString(v)); } +void IfcRailingType::PredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcRailingTypeEnum::ToString(v));; } bool IfcRailingType::is(Type::Enum v) const { return v == Type::IfcRailingType || IfcBuildingElementType::is(v); } Type::Enum IfcRailingType::type() const { return Type::IfcRailingType; } Type::Enum IfcRailingType::Class() { return Type::IfcRailingType; } IfcRailingType::IfcRailingType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailingType::IfcRailingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRailingType::IfcRailingType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRamp -bool IfcRamp::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcRampTypeEnum::IfcRampTypeEnum IfcRamp::PredefinedType() const { return IfcRampTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRamp::setPredefinedType(IfcRampTypeEnum::IfcRampTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRampTypeEnum::ToString(v)); } +boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > IfcRamp::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcRampTypeEnum::FromString(*arg); } } +void IfcRamp::PredefinedType(boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcRampTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcRamp::is(Type::Enum v) const { return v == Type::IfcRamp || IfcBuildingElement::is(v); } Type::Enum IfcRamp::type() const { return Type::IfcRamp; } Type::Enum IfcRamp::Class() { return Type::IfcRamp; } IfcRamp::IfcRamp(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRamp::IfcRamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRamp::IfcRamp(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlight -bool IfcRampFlight::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlight::PredefinedType() const { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRampFlight::setPredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRampFlightTypeEnum::ToString(v)); } +boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > IfcRampFlight::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcRampFlightTypeEnum::FromString(*arg); } } +void IfcRampFlight::PredefinedType(boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcRampFlightTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcRampFlight::is(Type::Enum v) const { return v == Type::IfcRampFlight || IfcBuildingElement::is(v); } Type::Enum IfcRampFlight::type() const { return Type::IfcRampFlight; } Type::Enum IfcRampFlight::Class() { return Type::IfcRampFlight; } IfcRampFlight::IfcRampFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampFlightTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampFlightTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlightType IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightType::PredefinedType() const { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRampFlightType::setPredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcRampFlightTypeEnum::ToString(v)); } +void IfcRampFlightType::PredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcRampFlightTypeEnum::ToString(v));; } bool IfcRampFlightType::is(Type::Enum v) const { return v == Type::IfcRampFlightType || IfcBuildingElementType::is(v); } Type::Enum IfcRampFlightType::type() const { return Type::IfcRampFlightType; } Type::Enum IfcRampFlightType::Class() { return Type::IfcRampFlightType; } IfcRampFlightType::IfcRampFlightType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampType IfcRampTypeEnum::IfcRampTypeEnum IfcRampType::PredefinedType() const { return IfcRampTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRampType::setPredefinedType(IfcRampTypeEnum::IfcRampTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcRampTypeEnum::ToString(v)); } +void IfcRampType::PredefinedType(IfcRampTypeEnum::IfcRampTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcRampTypeEnum::ToString(v));; } bool IfcRampType::is(Type::Enum v) const { return v == Type::IfcRampType || IfcBuildingElementType::is(v); } Type::Enum IfcRampType::type() const { return Type::IfcRampType; } Type::Enum IfcRampType::Class() { return Type::IfcRampType; } IfcRampType::IfcRampType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampType::IfcRampType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRampType::IfcRampType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ IfcRationalBSplineCurveWithKnots::WeightsData() const { return *entity->getArgument(8); } -void IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRationalBSplineCurveWithKnots::WeightsData(std::vector< double > /*[2:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcRationalBSplineCurveWithKnots::is(Type::Enum v) const { return v == Type::IfcRationalBSplineCurveWithKnots || IfcBSplineCurveWithKnots::is(v); } Type::Enum IfcRationalBSplineCurveWithKnots::type() const { return Type::IfcRationalBSplineCurveWithKnots; } Type::Enum IfcRationalBSplineCurveWithKnots::Class() { return Type::IfcRationalBSplineCurveWithKnots; } @@ -13524,37 +13067,35 @@ IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UD // Function implementations for IfcRectangleHollowProfileDef double IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcRectangleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !entity->getArgument(6)->isNull(); } -double IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } -void IfcRectangleHollowProfileDef::setInnerFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } -void IfcRectangleHollowProfileDef::setOuterFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRectangleHollowProfileDef::WallThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< double > IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } +void IfcRectangleHollowProfileDef::InnerFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } +void IfcRectangleHollowProfileDef::OuterFilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRectangleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleHollowProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRectangleHollowProfileDef::type() const { return Type::IfcRectangleHollowProfileDef; } Type::Enum IfcRectangleHollowProfileDef::Class() { return Type::IfcRectangleHollowProfileDef; } IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleProfileDef double IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } -void IfcRectangleProfileDef::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRectangleProfileDef::XDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } -void IfcRectangleProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRectangleProfileDef::YDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcRectangleProfileDef::type() const { return Type::IfcRectangleProfileDef; } Type::Enum IfcRectangleProfileDef::Class() { return Type::IfcRectangleProfileDef; } IfcRectangleProfileDef::IfcRectangleProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } +IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularPyramid double IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } -void IfcRectangularPyramid::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRectangularPyramid::XLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } -void IfcRectangularPyramid::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRectangularPyramid::YLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } -void IfcRectangularPyramid::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRectangularPyramid::Height(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcRectangularPyramid::is(Type::Enum v) const { return v == Type::IfcRectangularPyramid || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRectangularPyramid::type() const { return Type::IfcRectangularPyramid; } Type::Enum IfcRectangularPyramid::Class() { return Type::IfcRectangularPyramid; } @@ -13563,19 +13104,19 @@ IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, d // Function implementations for IfcRectangularTrimmedSurface IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcRectangularTrimmedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcRectangularTrimmedSurface::BasisSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } -void IfcRectangularTrimmedSurface::setU1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRectangularTrimmedSurface::U1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } -void IfcRectangularTrimmedSurface::setV1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRectangularTrimmedSurface::V1(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } -void IfcRectangularTrimmedSurface::setU2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRectangularTrimmedSurface::U2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } -void IfcRectangularTrimmedSurface::setV2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRectangularTrimmedSurface::V2(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcRectangularTrimmedSurface::Usense() const { return *entity->getArgument(5); } -void IfcRectangularTrimmedSurface::setUsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRectangularTrimmedSurface::Usense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRectangularTrimmedSurface::Vsense() const { return *entity->getArgument(6); } -void IfcRectangularTrimmedSurface::setVsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRectangularTrimmedSurface::Vsense(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRectangularTrimmedSurface::is(Type::Enum v) const { return v == Type::IfcRectangularTrimmedSurface || IfcBoundedSurface::is(v); } Type::Enum IfcRectangularTrimmedSurface::type() const { return Type::IfcRectangularTrimmedSurface; } Type::Enum IfcRectangularTrimmedSurface::Class() { return Type::IfcRectangularTrimmedSurface; } @@ -13584,28 +13125,21 @@ IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisS // Function implementations for IfcRecurrencePattern IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum IfcRecurrencePattern::RecurrenceType() const { return IfcRecurrenceTypeEnum::FromString(*entity->getArgument(0)); } -void IfcRecurrencePattern::setRecurrenceType(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcRecurrenceTypeEnum::ToString(v)); } -bool IfcRecurrencePattern::hasDayComponent() const { return !entity->getArgument(1)->isNull(); } -std::vector< int > /*[1:?]*/ IfcRecurrencePattern::DayComponent() const { return *entity->getArgument(1); } -void IfcRecurrencePattern::setDayComponent(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRecurrencePattern::hasWeekdayComponent() const { return !entity->getArgument(2)->isNull(); } -std::vector< int > /*[1:?]*/ IfcRecurrencePattern::WeekdayComponent() const { return *entity->getArgument(2); } -void IfcRecurrencePattern::setWeekdayComponent(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRecurrencePattern::hasMonthComponent() const { return !entity->getArgument(3)->isNull(); } -std::vector< int > /*[1:?]*/ IfcRecurrencePattern::MonthComponent() const { return *entity->getArgument(3); } -void IfcRecurrencePattern::setMonthComponent(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcRecurrencePattern::hasPosition() const { return !entity->getArgument(4)->isNull(); } -int IfcRecurrencePattern::Position() const { return *entity->getArgument(4); } -void IfcRecurrencePattern::setPosition(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRecurrencePattern::hasInterval() const { return !entity->getArgument(5)->isNull(); } -int IfcRecurrencePattern::Interval() const { return *entity->getArgument(5); } -void IfcRecurrencePattern::setInterval(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRecurrencePattern::hasOccurrences() const { return !entity->getArgument(6)->isNull(); } -int IfcRecurrencePattern::Occurrences() const { return *entity->getArgument(6); } -void IfcRecurrencePattern::setOccurrences(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRecurrencePattern::hasTimePeriods() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcTimePeriod >::ptr IfcRecurrencePattern::TimePeriods() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcRecurrencePattern::setTimePeriods(IfcTemplatedEntityList< IfcTimePeriod >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +void IfcRecurrencePattern::RecurrenceType(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcRecurrenceTypeEnum::ToString(v));; } +boost::optional< std::vector< int > /*[1:?]*/ > IfcRecurrencePattern::DayComponent() const { return *entity->getArgument(1); } +void IfcRecurrencePattern::DayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::vector< int > /*[1:?]*/ > IfcRecurrencePattern::WeekdayComponent() const { return *entity->getArgument(2); } +void IfcRecurrencePattern::WeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::vector< int > /*[1:?]*/ > IfcRecurrencePattern::MonthComponent() const { return *entity->getArgument(3); } +void IfcRecurrencePattern::MonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< int > IfcRecurrencePattern::Position() const { return *entity->getArgument(4); } +void IfcRecurrencePattern::Position(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< int > IfcRecurrencePattern::Interval() const { return *entity->getArgument(5); } +void IfcRecurrencePattern::Interval(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< int > IfcRecurrencePattern::Occurrences() const { return *entity->getArgument(6); } +void IfcRecurrencePattern::Occurrences(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > IfcRecurrencePattern::TimePeriods() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcRecurrencePattern::TimePeriods(boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } bool IfcRecurrencePattern::is(Type::Enum v) const { return v == Type::IfcRecurrencePattern; } Type::Enum IfcRecurrencePattern::type() const { return Type::IfcRecurrencePattern; } Type::Enum IfcRecurrencePattern::Class() { return Type::IfcRecurrencePattern; } @@ -13613,55 +13147,46 @@ IfcRecurrencePattern::IfcRecurrencePattern(IfcAbstractEntity* e) : IfcUtil::IfcB IfcRecurrencePattern::IfcRecurrencePattern(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_RecurrenceType,IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType)); if (v2_DayComponent) { e->setArgument(1,(*v2_DayComponent)); } else { e->setArgument(1); } if (v3_WeekdayComponent) { e->setArgument(2,(*v3_WeekdayComponent)); } else { e->setArgument(2); } if (v4_MonthComponent) { e->setArgument(3,(*v4_MonthComponent)); } else { e->setArgument(3); } if (v5_Position) { e->setArgument(4,(*v5_Position)); } else { e->setArgument(4); } if (v6_Interval) { e->setArgument(5,(*v6_Interval)); } else { e->setArgument(5); } if (v7_Occurrences) { e->setArgument(6,(*v7_Occurrences)); } else { e->setArgument(6); } if (v8_TimePeriods) { e->setArgument(7,(*v8_TimePeriods)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReference -bool IfcReference::hasTypeIdentifier() const { return !entity->getArgument(0)->isNull(); } -std::string IfcReference::TypeIdentifier() const { return *entity->getArgument(0); } -void IfcReference::setTypeIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcReference::hasAttributeIdentifier() const { return !entity->getArgument(1)->isNull(); } -std::string IfcReference::AttributeIdentifier() const { return *entity->getArgument(1); } -void IfcReference::setAttributeIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcReference::hasInstanceName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcReference::InstanceName() const { return *entity->getArgument(2); } -void IfcReference::setInstanceName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcReference::hasListPositions() const { return !entity->getArgument(3)->isNull(); } -std::vector< int > /*[1:?]*/ IfcReference::ListPositions() const { return *entity->getArgument(3); } -void IfcReference::setListPositions(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcReference::hasInnerReference() const { return !entity->getArgument(4)->isNull(); } -IfcReference* IfcReference::InnerReference() const { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcReference::setInnerReference(IfcReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcReference::TypeIdentifier() const { return *entity->getArgument(0); } +void IfcReference::TypeIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcReference::AttributeIdentifier() const { return *entity->getArgument(1); } +void IfcReference::AttributeIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcReference::InstanceName() const { return *entity->getArgument(2); } +void IfcReference::InstanceName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::vector< int > /*[1:?]*/ > IfcReference::ListPositions() const { return *entity->getArgument(3); } +void IfcReference::ListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcReference* > IfcReference::InnerReference() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcReference::InnerReference(boost::optional< IfcReference* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcReference::is(Type::Enum v) const { return v == Type::IfcReference; } Type::Enum IfcReference::type() const { return Type::IfcReference; } Type::Enum IfcReference::Class() { return Type::IfcReference; } IfcReference::IfcReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReference::IfcReference(boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TypeIdentifier) { e->setArgument(0,(*v1_TypeIdentifier)); } else { e->setArgument(0); } if (v2_AttributeIdentifier) { e->setArgument(1,(*v2_AttributeIdentifier)); } else { e->setArgument(1); } if (v3_InstanceName) { e->setArgument(2,(*v3_InstanceName)); } else { e->setArgument(2); } if (v4_ListPositions) { e->setArgument(3,(*v4_ListPositions)); } else { e->setArgument(3); } e->setArgument(4,(v5_InnerReference)); entity = e; EntityBuffer::Add(this); } +IfcReference::IfcReference(boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, boost::optional< IfcReference* > v5_InnerReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TypeIdentifier) { e->setArgument(0,(*v1_TypeIdentifier)); } else { e->setArgument(0); } if (v2_AttributeIdentifier) { e->setArgument(1,(*v2_AttributeIdentifier)); } else { e->setArgument(1); } if (v3_InstanceName) { e->setArgument(2,(*v3_InstanceName)); } else { e->setArgument(2); } if (v4_ListPositions) { e->setArgument(3,(*v4_ListPositions)); } else { e->setArgument(3); } if (v5_InnerReference) { e->setArgument(4,(*v5_InnerReference)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRegularTimeSeries double IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } -void IfcRegularTimeSeries::setTimeStep(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRegularTimeSeries::TimeStep(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +void IfcRegularTimeSeries::Values(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v->generalize());; } bool IfcRegularTimeSeries::is(Type::Enum v) const { return v == Type::IfcRegularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcRegularTimeSeries::type() const { return Type::IfcRegularTimeSeries; } Type::Enum IfcRegularTimeSeries::Class() { return Type::IfcRegularTimeSeries; } IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementBarProperties double IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } -void IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcReinforcementBarProperties::TotalCrossSectionArea(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } -void IfcReinforcementBarProperties::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcReinforcementBarProperties::hasBarSurface() const { return !entity->getArgument(2)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcementBarProperties::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(2)); } -void IfcReinforcementBarProperties::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } -bool IfcReinforcementBarProperties::hasEffectiveDepth() const { return !entity->getArgument(3)->isNull(); } -double IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } -void IfcReinforcementBarProperties::setEffectiveDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !entity->getArgument(4)->isNull(); } -double IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } -void IfcReinforcementBarProperties::setNominalBarDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcReinforcementBarProperties::hasBarCount() const { return !entity->getArgument(5)->isNull(); } -double IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } -void IfcReinforcementBarProperties::setBarCount(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcReinforcementBarProperties::SteelGrade(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > IfcReinforcementBarProperties::BarSurface() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingBarSurfaceEnum::FromString(*arg); } } +void IfcReinforcementBarProperties::BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v,IfcReinforcingBarSurfaceEnum::ToString(*v));; } else { w->setArgument(2); } } +boost::optional< double > IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } +void IfcReinforcementBarProperties::EffectiveDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } +void IfcReinforcementBarProperties::NominalBarDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } +void IfcReinforcementBarProperties::BarCount(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcReinforcementBarProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementBarProperties || IfcPreDefinedProperties::is(v); } Type::Enum IfcReinforcementBarProperties::type() const { return Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::Class() { return Type::IfcReinforcementBarProperties; } @@ -13669,698 +13194,647 @@ IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntity* IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementDefinitionProperties -bool IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !entity->getArgument(4)->isNull(); } -std::string IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } -void IfcReinforcementDefinitionProperties::setDefinitionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } +void IfcReinforcementDefinitionProperties::DefinitionType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcReinforcementDefinitionProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementDefinitionProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcReinforcementDefinitionProperties::type() const { return Type::IfcReinforcementDefinitionProperties; } Type::Enum IfcReinforcementDefinitionProperties::Class() { return Type::IfcReinforcementDefinitionProperties; } IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBar -bool IfcReinforcingBar::hasNominalDiameter() const { return !entity->getArgument(9)->isNull(); } -double IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } -void IfcReinforcingBar::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcReinforcingBar::hasCrossSectionArea() const { return !entity->getArgument(10)->isNull(); } -double IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } -void IfcReinforcingBar::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingBar::hasBarLength() const { return !entity->getArgument(11)->isNull(); } -double IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } -void IfcReinforcingBar::setBarLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingBar::hasPredefinedType() const { return !entity->getArgument(12)->isNull(); } -IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum IfcReinforcingBar::PredefinedType() const { return IfcReinforcingBarTypeEnum::FromString(*entity->getArgument(12)); } -void IfcReinforcingBar::setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcReinforcingBarTypeEnum::ToString(v)); } -bool IfcReinforcingBar::hasBarSurface() const { return !entity->getArgument(13)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBar::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } -void IfcReinforcingBar::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } +boost::optional< double > IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } +void IfcReinforcingBar::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } +void IfcReinforcingBar::CrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } +void IfcReinforcingBar::BarLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > IfcReinforcingBar::PredefinedType() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingBarTypeEnum::FromString(*arg); } } +void IfcReinforcingBar::PredefinedType(boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v,IfcReinforcingBarTypeEnum::ToString(*v));; } else { w->setArgument(12); } } +boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > IfcReinforcingBar::BarSurface() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingBarSurfaceEnum::FromString(*arg); } } +void IfcReinforcingBar::BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v,IfcReinforcingBarSurfaceEnum::ToString(*v));; } else { w->setArgument(13); } } bool IfcReinforcingBar::is(Type::Enum v) const { return v == Type::IfcReinforcingBar || IfcReinforcingElement::is(v); } Type::Enum IfcReinforcingBar::type() const { return Type::IfcReinforcingBar; } Type::Enum IfcReinforcingBar::Class() { return Type::IfcReinforcingBar; } IfcReinforcingBar::IfcReinforcingBar(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_NominalDiameter) { e->setArgument(9,(*v10_NominalDiameter)); } else { e->setArgument(9); } if (v11_CrossSectionArea) { e->setArgument(10,(*v11_CrossSectionArea)); } else { e->setArgument(10); } if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_NominalDiameter) { e->setArgument(9,(*v10_NominalDiameter)); } else { e->setArgument(9); } if (v11_CrossSectionArea) { e->setArgument(10,(*v11_CrossSectionArea)); } else { e->setArgument(10); } if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBarType IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum IfcReinforcingBarType::PredefinedType() const { return IfcReinforcingBarTypeEnum::FromString(*entity->getArgument(9)); } -void IfcReinforcingBarType::setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcReinforcingBarTypeEnum::ToString(v)); } -bool IfcReinforcingBarType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -double IfcReinforcingBarType::NominalDiameter() const { return *entity->getArgument(10); } -void IfcReinforcingBarType::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingBarType::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } -double IfcReinforcingBarType::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcReinforcingBarType::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingBarType::hasBarLength() const { return !entity->getArgument(12)->isNull(); } -double IfcReinforcingBarType::BarLength() const { return *entity->getArgument(12); } -void IfcReinforcingBarType::setBarLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcReinforcingBarType::hasBarSurface() const { return !entity->getArgument(13)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBarType::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } -void IfcReinforcingBarType::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } -bool IfcReinforcingBarType::hasBendingShapeCode() const { return !entity->getArgument(14)->isNull(); } -std::string IfcReinforcingBarType::BendingShapeCode() const { return *entity->getArgument(14); } -void IfcReinforcingBarType::setBendingShapeCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcReinforcingBarType::hasBendingParameters() const { return !entity->getArgument(15)->isNull(); } -IfcEntityList::ptr IfcReinforcingBarType::BendingParameters() const { return *entity->getArgument(15); } -void IfcReinforcingBarType::setBendingParameters(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +void IfcReinforcingBarType::PredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcReinforcingBarTypeEnum::ToString(v));; } +boost::optional< double > IfcReinforcingBarType::NominalDiameter() const { return *entity->getArgument(10); } +void IfcReinforcingBarType::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcReinforcingBarType::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcReinforcingBarType::CrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcReinforcingBarType::BarLength() const { return *entity->getArgument(12); } +void IfcReinforcingBarType::BarLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > IfcReinforcingBarType::BarSurface() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingBarSurfaceEnum::FromString(*arg); } } +void IfcReinforcingBarType::BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v,IfcReinforcingBarSurfaceEnum::ToString(*v));; } else { w->setArgument(13); } } +boost::optional< std::string > IfcReinforcingBarType::BendingShapeCode() const { return *entity->getArgument(14); } +void IfcReinforcingBarType::BendingShapeCode(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< IfcEntityList::ptr > IfcReinforcingBarType::BendingParameters() const { return *entity->getArgument(15); } +void IfcReinforcingBarType::BendingParameters(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } bool IfcReinforcingBarType::is(Type::Enum v) const { return v == Type::IfcReinforcingBarType || IfcReinforcingElementType::is(v); } Type::Enum IfcReinforcingBarType::type() const { return Type::IfcReinforcingBarType; } Type::Enum IfcReinforcingBarType::Class() { return Type::IfcReinforcingBarType; } IfcReinforcingBarType::IfcReinforcingBarType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBarType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_BarLength) { e->setArgument(12,(*v13_BarLength)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } if (v15_BendingShapeCode) { e->setArgument(14,(*v15_BendingShapeCode)); } else { e->setArgument(14); } if (v16_BendingParameters) { e->setArgument(15,(*v16_BendingParameters)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_BarLength) { e->setArgument(12,(*v13_BarLength)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } if (v15_BendingShapeCode) { e->setArgument(14,(*v15_BendingShapeCode)); } else { e->setArgument(14); } if (v16_BendingParameters) { e->setArgument(15,(*v16_BendingParameters)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElement -bool IfcReinforcingElement::hasSteelGrade() const { return !entity->getArgument(8)->isNull(); } -std::string IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } -void IfcReinforcingElement::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } +void IfcReinforcingElement::SteelGrade(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcReinforcingElement::is(Type::Enum v) const { return v == Type::IfcReinforcingElement || IfcElementComponent::is(v); } Type::Enum IfcReinforcingElement::type() const { return Type::IfcReinforcingElement; } Type::Enum IfcReinforcingElement::Class() { return Type::IfcReinforcingElement; } IfcReinforcingElement::IfcReinforcingElement(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElementType bool IfcReinforcingElementType::is(Type::Enum v) const { return v == Type::IfcReinforcingElementType || IfcElementComponentType::is(v); } Type::Enum IfcReinforcingElementType::type() const { return Type::IfcReinforcingElementType; } Type::Enum IfcReinforcingElementType::Class() { return Type::IfcReinforcingElementType; } IfcReinforcingElementType::IfcReinforcingElementType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMesh -bool IfcReinforcingMesh::hasMeshLength() const { return !entity->getArgument(9)->isNull(); } -double IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } -void IfcReinforcingMesh::setMeshLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcReinforcingMesh::hasMeshWidth() const { return !entity->getArgument(10)->isNull(); } -double IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } -void IfcReinforcingMesh::setMeshWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingMesh::hasLongitudinalBarNominalDiameter() const { return !entity->getArgument(11)->isNull(); } -double IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } -void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingMesh::hasTransverseBarNominalDiameter() const { return !entity->getArgument(12)->isNull(); } -double IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } -void IfcReinforcingMesh::setTransverseBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcReinforcingMesh::hasLongitudinalBarCrossSectionArea() const { return !entity->getArgument(13)->isNull(); } -double IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } -void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcReinforcingMesh::hasTransverseBarCrossSectionArea() const { return !entity->getArgument(14)->isNull(); } -double IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } -void IfcReinforcingMesh::setTransverseBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcReinforcingMesh::hasLongitudinalBarSpacing() const { return !entity->getArgument(15)->isNull(); } -double IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } -void IfcReinforcingMesh::setLongitudinalBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcReinforcingMesh::hasTransverseBarSpacing() const { return !entity->getArgument(16)->isNull(); } -double IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } -void IfcReinforcingMesh::setTransverseBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcReinforcingMesh::hasPredefinedType() const { return !entity->getArgument(17)->isNull(); } -IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum IfcReinforcingMesh::PredefinedType() const { return IfcReinforcingMeshTypeEnum::FromString(*entity->getArgument(17)); } -void IfcReinforcingMesh::setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v,IfcReinforcingMeshTypeEnum::ToString(v)); } +boost::optional< double > IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } +void IfcReinforcingMesh::MeshLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } +void IfcReinforcingMesh::MeshWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } +void IfcReinforcingMesh::LongitudinalBarNominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } +void IfcReinforcingMesh::TransverseBarNominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } +void IfcReinforcingMesh::LongitudinalBarCrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } +void IfcReinforcingMesh::TransverseBarCrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } +void IfcReinforcingMesh::LongitudinalBarSpacing(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } +void IfcReinforcingMesh::TransverseBarSpacing(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > IfcReinforcingMesh::PredefinedType() const { Argument* arg = entity->getArgument(17); if (arg->isNull()) { return boost::none; } else { return IfcReinforcingMeshTypeEnum::FromString(*arg); } } +void IfcReinforcingMesh::PredefinedType(boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v,IfcReinforcingMeshTypeEnum::ToString(*v));; } else { w->setArgument(17); } } bool IfcReinforcingMesh::is(Type::Enum v) const { return v == Type::IfcReinforcingMesh || IfcReinforcingElement::is(v); } Type::Enum IfcReinforcingMesh::type() const { return Type::IfcReinforcingMesh; } Type::Enum IfcReinforcingMesh::Class() { return Type::IfcReinforcingMesh; } IfcReinforcingMesh::IfcReinforcingMesh(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } if (v12_LongitudinalBarNominalDiameter) { e->setArgument(11,(*v12_LongitudinalBarNominalDiameter)); } else { e->setArgument(11); } if (v13_TransverseBarNominalDiameter) { e->setArgument(12,(*v13_TransverseBarNominalDiameter)); } else { e->setArgument(12); } if (v14_LongitudinalBarCrossSectionArea) { e->setArgument(13,(*v14_LongitudinalBarCrossSectionArea)); } else { e->setArgument(13); } if (v15_TransverseBarCrossSectionArea) { e->setArgument(14,(*v15_TransverseBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_LongitudinalBarSpacing) { e->setArgument(15,(*v16_LongitudinalBarSpacing)); } else { e->setArgument(15); } if (v17_TransverseBarSpacing) { e->setArgument(16,(*v17_TransverseBarSpacing)); } else { e->setArgument(16); } if (v18_PredefinedType) { e->setArgument(17,*v18_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } if (v12_LongitudinalBarNominalDiameter) { e->setArgument(11,(*v12_LongitudinalBarNominalDiameter)); } else { e->setArgument(11); } if (v13_TransverseBarNominalDiameter) { e->setArgument(12,(*v13_TransverseBarNominalDiameter)); } else { e->setArgument(12); } if (v14_LongitudinalBarCrossSectionArea) { e->setArgument(13,(*v14_LongitudinalBarCrossSectionArea)); } else { e->setArgument(13); } if (v15_TransverseBarCrossSectionArea) { e->setArgument(14,(*v15_TransverseBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_LongitudinalBarSpacing) { e->setArgument(15,(*v16_LongitudinalBarSpacing)); } else { e->setArgument(15); } if (v17_TransverseBarSpacing) { e->setArgument(16,(*v17_TransverseBarSpacing)); } else { e->setArgument(16); } if (v18_PredefinedType) { e->setArgument(17,*v18_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMeshType IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum IfcReinforcingMeshType::PredefinedType() const { return IfcReinforcingMeshTypeEnum::FromString(*entity->getArgument(9)); } -void IfcReinforcingMeshType::setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcReinforcingMeshTypeEnum::ToString(v)); } -bool IfcReinforcingMeshType::hasMeshLength() const { return !entity->getArgument(10)->isNull(); } -double IfcReinforcingMeshType::MeshLength() const { return *entity->getArgument(10); } -void IfcReinforcingMeshType::setMeshLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingMeshType::hasMeshWidth() const { return !entity->getArgument(11)->isNull(); } -double IfcReinforcingMeshType::MeshWidth() const { return *entity->getArgument(11); } -void IfcReinforcingMeshType::setMeshWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingMeshType::hasLongitudinalBarNominalDiameter() const { return !entity->getArgument(12)->isNull(); } -double IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { return *entity->getArgument(12); } -void IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcReinforcingMeshType::hasTransverseBarNominalDiameter() const { return !entity->getArgument(13)->isNull(); } -double IfcReinforcingMeshType::TransverseBarNominalDiameter() const { return *entity->getArgument(13); } -void IfcReinforcingMeshType::setTransverseBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcReinforcingMeshType::hasLongitudinalBarCrossSectionArea() const { return !entity->getArgument(14)->isNull(); } -double IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(14); } -void IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcReinforcingMeshType::hasTransverseBarCrossSectionArea() const { return !entity->getArgument(15)->isNull(); } -double IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { return *entity->getArgument(15); } -void IfcReinforcingMeshType::setTransverseBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcReinforcingMeshType::hasLongitudinalBarSpacing() const { return !entity->getArgument(16)->isNull(); } -double IfcReinforcingMeshType::LongitudinalBarSpacing() const { return *entity->getArgument(16); } -void IfcReinforcingMeshType::setLongitudinalBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcReinforcingMeshType::hasTransverseBarSpacing() const { return !entity->getArgument(17)->isNull(); } -double IfcReinforcingMeshType::TransverseBarSpacing() const { return *entity->getArgument(17); } -void IfcReinforcingMeshType::setTransverseBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcReinforcingMeshType::hasBendingShapeCode() const { return !entity->getArgument(18)->isNull(); } -std::string IfcReinforcingMeshType::BendingShapeCode() const { return *entity->getArgument(18); } -void IfcReinforcingMeshType::setBendingShapeCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcReinforcingMeshType::hasBendingParameters() const { return !entity->getArgument(19)->isNull(); } -IfcEntityList::ptr IfcReinforcingMeshType::BendingParameters() const { return *entity->getArgument(19); } -void IfcReinforcingMeshType::setBendingParameters(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } +void IfcReinforcingMeshType::PredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcReinforcingMeshTypeEnum::ToString(v));; } +boost::optional< double > IfcReinforcingMeshType::MeshLength() const { return *entity->getArgument(10); } +void IfcReinforcingMeshType::MeshLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcReinforcingMeshType::MeshWidth() const { return *entity->getArgument(11); } +void IfcReinforcingMeshType::MeshWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { return *entity->getArgument(12); } +void IfcReinforcingMeshType::LongitudinalBarNominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcReinforcingMeshType::TransverseBarNominalDiameter() const { return *entity->getArgument(13); } +void IfcReinforcingMeshType::TransverseBarNominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(14); } +void IfcReinforcingMeshType::LongitudinalBarCrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { return *entity->getArgument(15); } +void IfcReinforcingMeshType::TransverseBarCrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcReinforcingMeshType::LongitudinalBarSpacing() const { return *entity->getArgument(16); } +void IfcReinforcingMeshType::LongitudinalBarSpacing(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< double > IfcReinforcingMeshType::TransverseBarSpacing() const { return *entity->getArgument(17); } +void IfcReinforcingMeshType::TransverseBarSpacing(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v); } else { w->setArgument(17); } } +boost::optional< std::string > IfcReinforcingMeshType::BendingShapeCode() const { return *entity->getArgument(18); } +void IfcReinforcingMeshType::BendingShapeCode(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(18,*v); } else { w->setArgument(18); } } +boost::optional< IfcEntityList::ptr > IfcReinforcingMeshType::BendingParameters() const { return *entity->getArgument(19); } +void IfcReinforcingMeshType::BendingParameters(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(19,*v); } else { w->setArgument(19); } } bool IfcReinforcingMeshType::is(Type::Enum v) const { return v == Type::IfcReinforcingMeshType || IfcReinforcingElementType::is(v); } Type::Enum IfcReinforcingMeshType::type() const { return Type::IfcReinforcingMeshType; } Type::Enum IfcReinforcingMeshType::Class() { return Type::IfcReinforcingMeshType; } IfcReinforcingMeshType::IfcReinforcingMeshType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMeshType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType)); if (v11_MeshLength) { e->setArgument(10,(*v11_MeshLength)); } else { e->setArgument(10); } if (v12_MeshWidth) { e->setArgument(11,(*v12_MeshWidth)); } else { e->setArgument(11); } if (v13_LongitudinalBarNominalDiameter) { e->setArgument(12,(*v13_LongitudinalBarNominalDiameter)); } else { e->setArgument(12); } if (v14_TransverseBarNominalDiameter) { e->setArgument(13,(*v14_TransverseBarNominalDiameter)); } else { e->setArgument(13); } if (v15_LongitudinalBarCrossSectionArea) { e->setArgument(14,(*v15_LongitudinalBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_TransverseBarCrossSectionArea) { e->setArgument(15,(*v16_TransverseBarCrossSectionArea)); } else { e->setArgument(15); } if (v17_LongitudinalBarSpacing) { e->setArgument(16,(*v17_LongitudinalBarSpacing)); } else { e->setArgument(16); } if (v18_TransverseBarSpacing) { e->setArgument(17,(*v18_TransverseBarSpacing)); } else { e->setArgument(17); } if (v19_BendingShapeCode) { e->setArgument(18,(*v19_BendingShapeCode)); } else { e->setArgument(18); } if (v20_BendingParameters) { e->setArgument(19,(*v20_BendingParameters)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType)); if (v11_MeshLength) { e->setArgument(10,(*v11_MeshLength)); } else { e->setArgument(10); } if (v12_MeshWidth) { e->setArgument(11,(*v12_MeshWidth)); } else { e->setArgument(11); } if (v13_LongitudinalBarNominalDiameter) { e->setArgument(12,(*v13_LongitudinalBarNominalDiameter)); } else { e->setArgument(12); } if (v14_TransverseBarNominalDiameter) { e->setArgument(13,(*v14_TransverseBarNominalDiameter)); } else { e->setArgument(13); } if (v15_LongitudinalBarCrossSectionArea) { e->setArgument(14,(*v15_LongitudinalBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_TransverseBarCrossSectionArea) { e->setArgument(15,(*v16_TransverseBarCrossSectionArea)); } else { e->setArgument(15); } if (v17_LongitudinalBarSpacing) { e->setArgument(16,(*v17_LongitudinalBarSpacing)); } else { e->setArgument(16); } if (v18_TransverseBarSpacing) { e->setArgument(17,(*v18_TransverseBarSpacing)); } else { e->setArgument(17); } if (v19_BendingShapeCode) { e->setArgument(18,(*v19_BendingShapeCode)); } else { e->setArgument(18); } if (v20_BendingParameters) { e->setArgument(19,(*v20_BendingParameters)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAggregates IfcObjectDefinition* IfcRelAggregates::RelatingObject() const { return (IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelAggregates::setRelatingObject(IfcObjectDefinition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelAggregates::RelatingObject(IfcObjectDefinition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelAggregates::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelAggregates::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelAggregates::RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelAggregates::is(Type::Enum v) const { return v == Type::IfcRelAggregates || IfcRelDecomposes::is(v); } Type::Enum IfcRelAggregates::type() const { return Type::IfcRelAggregates; } Type::Enum IfcRelAggregates::Class() { return Type::IfcRelAggregates; } IfcRelAggregates::IfcRelAggregates(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssigns IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelAssigns::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelAssigns::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -bool IfcRelAssigns::hasRelatedObjectsType() const { return !entity->getArgument(5)->isNull(); } -IfcObjectTypeEnum::IfcObjectTypeEnum IfcRelAssigns::RelatedObjectsType() const { return IfcObjectTypeEnum::FromString(*entity->getArgument(5)); } -void IfcRelAssigns::setRelatedObjectsType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcObjectTypeEnum::ToString(v)); } +void IfcRelAssigns::RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } +boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > IfcRelAssigns::RelatedObjectsType() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return IfcObjectTypeEnum::FromString(*arg); } } +void IfcRelAssigns::RelatedObjectsType(boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v,IfcObjectTypeEnum::ToString(*v));; } else { w->setArgument(5); } } bool IfcRelAssigns::is(Type::Enum v) const { return v == Type::IfcRelAssigns || IfcRelationship::is(v); } Type::Enum IfcRelAssigns::type() const { return Type::IfcRelAssigns; } Type::Enum IfcRelAssigns::Class() { return Type::IfcRelAssigns; } IfcRelAssigns::IfcRelAssigns(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToActor IfcActor* IfcRelAssignsToActor::RelatingActor() const { return (IfcActor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToActor::setRelatingActor(IfcActor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelAssignsToActor::hasActingRole() const { return !entity->getArgument(7)->isNull(); } -IfcActorRole* IfcRelAssignsToActor::ActingRole() const { return (IfcActorRole*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelAssignsToActor::setActingRole(IfcActorRole* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelAssignsToActor::RelatingActor(IfcActor* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcActorRole* > IfcRelAssignsToActor::ActingRole() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcActorRole*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssignsToActor::ActingRole(boost::optional< IfcActorRole* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelAssignsToActor::is(Type::Enum v) const { return v == Type::IfcRelAssignsToActor || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToActor::type() const { return Type::IfcRelAssignsToActor; } Type::Enum IfcRelAssignsToActor::Class() { return Type::IfcRelAssignsToActor; } IfcRelAssignsToActor::IfcRelAssignsToActor(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, boost::optional< IfcActorRole* > v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); if (v8_ActingRole) { e->setArgument(7,(*v8_ActingRole)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToControl IfcControl* IfcRelAssignsToControl::RelatingControl() const { return (IfcControl*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToControl::setRelatingControl(IfcControl* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToControl::RelatingControl(IfcControl* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToControl::is(Type::Enum v) const { return v == Type::IfcRelAssignsToControl || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToControl::type() const { return Type::IfcRelAssignsToControl; } Type::Enum IfcRelAssignsToControl::Class() { return Type::IfcRelAssignsToControl; } IfcRelAssignsToControl::IfcRelAssignsToControl(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroup IfcGroup* IfcRelAssignsToGroup::RelatingGroup() const { return (IfcGroup*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToGroup::setRelatingGroup(IfcGroup* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToGroup::RelatingGroup(IfcGroup* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToGroup::is(Type::Enum v) const { return v == Type::IfcRelAssignsToGroup || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToGroup::type() const { return Type::IfcRelAssignsToGroup; } Type::Enum IfcRelAssignsToGroup::Class() { return Type::IfcRelAssignsToGroup; } IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroupByFactor double IfcRelAssignsToGroupByFactor::Factor() const { return *entity->getArgument(7); } -void IfcRelAssignsToGroupByFactor::setFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelAssignsToGroupByFactor::Factor(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } bool IfcRelAssignsToGroupByFactor::is(Type::Enum v) const { return v == Type::IfcRelAssignsToGroupByFactor || IfcRelAssignsToGroup::is(v); } Type::Enum IfcRelAssignsToGroupByFactor::type() const { return Type::IfcRelAssignsToGroupByFactor; } Type::Enum IfcRelAssignsToGroupByFactor::Class() { return Type::IfcRelAssignsToGroupByFactor; } IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcAbstractEntity* e) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroupByFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); e->setArgument(7,(v8_Factor)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); e->setArgument(7,(v8_Factor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProcess IfcProcessSelect* IfcRelAssignsToProcess::RelatingProcess() const { return (IfcProcessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToProcess::setRelatingProcess(IfcProcessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelAssignsToProcess::hasQuantityInProcess() const { return !entity->getArgument(7)->isNull(); } -IfcMeasureWithUnit* IfcRelAssignsToProcess::QuantityInProcess() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelAssignsToProcess::setQuantityInProcess(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelAssignsToProcess::RelatingProcess(IfcProcessSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcMeasureWithUnit* > IfcRelAssignsToProcess::QuantityInProcess() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelAssignsToProcess::QuantityInProcess(boost::optional< IfcMeasureWithUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelAssignsToProcess::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProcess || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToProcess::type() const { return Type::IfcRelAssignsToProcess; } Type::Enum IfcRelAssignsToProcess::Class() { return Type::IfcRelAssignsToProcess; } IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect* v7_RelatingProcess, boost::optional< IfcMeasureWithUnit* > v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); if (v8_QuantityInProcess) { e->setArgument(7,(*v8_QuantityInProcess)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProduct IfcProductSelect* IfcRelAssignsToProduct::RelatingProduct() const { return (IfcProductSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToProduct::setRelatingProduct(IfcProductSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToProduct::RelatingProduct(IfcProductSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToProduct::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProduct || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToProduct::type() const { return Type::IfcRelAssignsToProduct; } Type::Enum IfcRelAssignsToProduct::Class() { return Type::IfcRelAssignsToProduct; } IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToResource IfcResourceSelect* IfcRelAssignsToResource::RelatingResource() const { return (IfcResourceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssignsToResource::setRelatingResource(IfcResourceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssignsToResource::RelatingResource(IfcResourceSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssignsToResource::is(Type::Enum v) const { return v == Type::IfcRelAssignsToResource || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToResource::type() const { return Type::IfcRelAssignsToResource; } Type::Enum IfcRelAssignsToResource::Class() { return Type::IfcRelAssignsToResource; } IfcRelAssignsToResource::IfcRelAssignsToResource(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociates IfcEntityList::ptr IfcRelAssociates::RelatedObjects() const { return *entity->getArgument(4); } -void IfcRelAssociates::setRelatedObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelAssociates::RelatedObjects(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcRelAssociates::is(Type::Enum v) const { return v == Type::IfcRelAssociates || IfcRelationship::is(v); } Type::Enum IfcRelAssociates::type() const { return Type::IfcRelAssociates; } Type::Enum IfcRelAssociates::Class() { return Type::IfcRelAssociates; } IfcRelAssociates::IfcRelAssociates(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesApproval IfcApproval* IfcRelAssociatesApproval::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesApproval::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesApproval::RelatingApproval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesApproval::is(Type::Enum v) const { return v == Type::IfcRelAssociatesApproval || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesApproval::type() const { return Type::IfcRelAssociatesApproval; } Type::Enum IfcRelAssociatesApproval::Class() { return Type::IfcRelAssociatesApproval; } IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesClassification IfcClassificationSelect* IfcRelAssociatesClassification::RelatingClassification() const { return (IfcClassificationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesClassification::RelatingClassification(IfcClassificationSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesClassification::is(Type::Enum v) const { return v == Type::IfcRelAssociatesClassification || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesClassification::type() const { return Type::IfcRelAssociatesClassification; } Type::Enum IfcRelAssociatesClassification::Class() { return Type::IfcRelAssociatesClassification; } IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesConstraint -bool IfcRelAssociatesConstraint::hasIntent() const { return !entity->getArgument(5)->isNull(); } -std::string IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } -void IfcRelAssociatesConstraint::setIntent(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< std::string > IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } +void IfcRelAssociatesConstraint::Intent(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelAssociatesConstraint::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelAssociatesConstraint::RelatingConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelAssociatesConstraint::is(Type::Enum v) const { return v == Type::IfcRelAssociatesConstraint || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesConstraint::type() const { return Type::IfcRelAssociatesConstraint; } Type::Enum IfcRelAssociatesConstraint::Class() { return Type::IfcRelAssociatesConstraint; } IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); if (v6_Intent) { e->setArgument(5,(*v6_Intent)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); if (v6_Intent) { e->setArgument(5,(*v6_Intent)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesDocument IfcDocumentSelect* IfcRelAssociatesDocument::RelatingDocument() const { return (IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesDocument::RelatingDocument(IfcDocumentSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesDocument::is(Type::Enum v) const { return v == Type::IfcRelAssociatesDocument || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesDocument::type() const { return Type::IfcRelAssociatesDocument; } Type::Enum IfcRelAssociatesDocument::Class() { return Type::IfcRelAssociatesDocument; } IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesLibrary IfcLibrarySelect* IfcRelAssociatesLibrary::RelatingLibrary() const { return (IfcLibrarySelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesLibrary::RelatingLibrary(IfcLibrarySelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesLibrary::is(Type::Enum v) const { return v == Type::IfcRelAssociatesLibrary || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesLibrary::type() const { return Type::IfcRelAssociatesLibrary; } Type::Enum IfcRelAssociatesLibrary::Class() { return Type::IfcRelAssociatesLibrary; } IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesMaterial IfcMaterialSelect* IfcRelAssociatesMaterial::RelatingMaterial() const { return (IfcMaterialSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelAssociatesMaterial::RelatingMaterial(IfcMaterialSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelAssociatesMaterial::is(Type::Enum v) const { return v == Type::IfcRelAssociatesMaterial || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesMaterial::type() const { return Type::IfcRelAssociatesMaterial; } Type::Enum IfcRelAssociatesMaterial::Class() { return Type::IfcRelAssociatesMaterial; } IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnects bool IfcRelConnects::is(Type::Enum v) const { return v == Type::IfcRelConnects || IfcRelationship::is(v); } Type::Enum IfcRelConnects::type() const { return Type::IfcRelConnects; } Type::Enum IfcRelConnects::Class() { return Type::IfcRelConnects; } IfcRelConnects::IfcRelConnects(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsElements -bool IfcRelConnectsElements::hasConnectionGeometry() const { return !entity->getArgument(4)->isNull(); } -IfcConnectionGeometry* IfcRelConnectsElements::ConnectionGeometry() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsElements::setConnectionGeometry(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< IfcConnectionGeometry* > IfcRelConnectsElements::ConnectionGeometry() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsElements::ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcElement* IfcRelConnectsElements::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsElements::setRelatingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsElements::RelatingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } IfcElement* IfcRelConnectsElements::RelatedElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelConnectsElements::setRelatedElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelConnectsElements::RelatedElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcRelConnectsElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsElements || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsElements::type() const { return Type::IfcRelConnectsElements; } Type::Enum IfcRelConnectsElements::Class() { return Type::IfcRelConnectsElements; } IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ConnectionGeometry) { e->setArgument(4,(*v5_ConnectionGeometry)); } else { e->setArgument(4); } e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } -void IfcRelConnectsPathElements::setRelatingPriorities(std::vector< double > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelConnectsPathElements::RelatingPriorities(std::vector< double > /*[0:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() const { return *entity->getArgument(8); } -void IfcRelConnectsPathElements::setRelatedPriorities(std::vector< double > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelConnectsPathElements::RelatedPriorities(std::vector< double > /*[0:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRelConnectsPathElements::setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcConnectionTypeEnum::ToString(v)); } +void IfcRelConnectsPathElements::RelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcConnectionTypeEnum::ToString(v));; } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } -void IfcRelConnectsPathElements::setRelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcConnectionTypeEnum::ToString(v)); } +void IfcRelConnectsPathElements::RelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v,IfcConnectionTypeEnum::ToString(v));; } bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsPathElements || IfcRelConnectsElements::is(v); } Type::Enum IfcRelConnectsPathElements::type() const { return Type::IfcRelConnectsPathElements; } Type::Enum IfcRelConnectsPathElements::Class() { return Type::IfcRelConnectsPathElements; } IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ConnectionGeometry) { e->setArgument(4,(*v5_ConnectionGeometry)); } else { e->setArgument(4); } e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement IfcPort* IfcRelConnectsPortToElement::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsPortToElement::setRelatingPort(IfcPort* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsPortToElement::RelatingPort(IfcPort* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcDistributionElement* IfcRelConnectsPortToElement::RelatedElement() const { return (IfcDistributionElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsPortToElement::setRelatedElement(IfcDistributionElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsPortToElement::RelatedElement(IfcDistributionElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelConnectsPortToElement::is(Type::Enum v) const { return v == Type::IfcRelConnectsPortToElement || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsPortToElement::type() const { return Type::IfcRelConnectsPortToElement; } Type::Enum IfcRelConnectsPortToElement::Class() { return Type::IfcRelConnectsPortToElement; } IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPorts IfcPort* IfcRelConnectsPorts::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsPorts::setRelatingPort(IfcPort* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsPorts::RelatingPort(IfcPort* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcPort* IfcRelConnectsPorts::RelatedPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsPorts::setRelatedPort(IfcPort* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelConnectsPorts::hasRealizingElement() const { return !entity->getArgument(6)->isNull(); } -IfcElement* IfcRelConnectsPorts::RealizingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelConnectsPorts::setRealizingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelConnectsPorts::RelatedPort(IfcPort* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcElement* > IfcRelConnectsPorts::RealizingElement() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsPorts::RealizingElement(boost::optional< IfcElement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcRelConnectsPorts::is(Type::Enum v) const { return v == Type::IfcRelConnectsPorts || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsPorts::type() const { return Type::IfcRelConnectsPorts; } Type::Enum IfcRelConnectsPorts::Class() { return Type::IfcRelConnectsPorts; } IfcRelConnectsPorts::IfcRelConnectsPorts(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, boost::optional< IfcElement* > v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); if (v7_RealizingElement) { e->setArgument(6,(*v7_RealizingElement)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralActivity IfcStructuralActivityAssignmentSelect* IfcRelConnectsStructuralActivity::RelatingElement() const { return (IfcStructuralActivityAssignmentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsStructuralActivity::RelatingElement(IfcStructuralActivityAssignmentSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(IfcStructuralActivity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelConnectsStructuralActivity::RelatedStructuralActivity(IfcStructuralActivity* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelConnectsStructuralActivity::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralActivity || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralActivity::type() const { return Type::IfcRelConnectsStructuralActivity; } Type::Enum IfcRelConnectsStructuralActivity::Class() { return Type::IfcRelConnectsStructuralActivity; } IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralMember IfcStructuralMember* IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return (IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelConnectsStructuralMember::setRelatingStructuralMember(IfcStructuralMember* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelConnectsStructuralMember::RelatingStructuralMember(IfcStructuralMember* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcStructuralConnection* IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return (IfcStructuralConnection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelConnectsStructuralMember::setRelatedStructuralConnection(IfcStructuralConnection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelConnectsStructuralMember::hasAppliedCondition() const { return !entity->getArgument(6)->isNull(); } -IfcBoundaryCondition* IfcRelConnectsStructuralMember::AppliedCondition() const { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelConnectsStructuralMember::setAppliedCondition(IfcBoundaryCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelConnectsStructuralMember::hasAdditionalConditions() const { return !entity->getArgument(7)->isNull(); } -IfcStructuralConnectionCondition* IfcRelConnectsStructuralMember::AdditionalConditions() const { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcRelConnectsStructuralMember::setAdditionalConditions(IfcStructuralConnectionCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcRelConnectsStructuralMember::hasSupportedLength() const { return !entity->getArgument(8)->isNull(); } -double IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } -void IfcRelConnectsStructuralMember::setSupportedLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() const { return !entity->getArgument(9)->isNull(); } -IfcAxis2Placement3D* IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcRelConnectsStructuralMember::setConditionCoordinateSystem(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcRelConnectsStructuralMember::RelatedStructuralConnection(IfcStructuralConnection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcBoundaryCondition* > IfcRelConnectsStructuralMember::AppliedCondition() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsStructuralMember::AppliedCondition(boost::optional< IfcBoundaryCondition* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcStructuralConnectionCondition* > IfcRelConnectsStructuralMember::AdditionalConditions() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsStructuralMember::AdditionalConditions(boost::optional< IfcStructuralConnectionCondition* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } +void IfcRelConnectsStructuralMember::SupportedLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcAxis2Placement3D* > IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelConnectsStructuralMember::ConditionCoordinateSystem(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcRelConnectsStructuralMember::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralMember || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralMember::type() const { return Type::IfcRelConnectsStructuralMember; } Type::Enum IfcRelConnectsStructuralMember::Class() { return Type::IfcRelConnectsStructuralMember; } IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); if (v7_AppliedCondition) { e->setArgument(6,(*v7_AppliedCondition)); } else { e->setArgument(6); } if (v8_AdditionalConditions) { e->setArgument(7,(*v8_AdditionalConditions)); } else { e->setArgument(7); } if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } if (v10_ConditionCoordinateSystem) { e->setArgument(9,(*v10_ConditionCoordinateSystem)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithEccentricity IfcConnectionGeometry* IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcRelConnectsWithEccentricity::setConnectionConstraint(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcRelConnectsWithEccentricity::ConnectionConstraint(IfcConnectionGeometry* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcRelConnectsWithEccentricity::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithEccentricity || IfcRelConnectsStructuralMember::is(v); } Type::Enum IfcRelConnectsWithEccentricity::type() const { return Type::IfcRelConnectsWithEccentricity; } Type::Enum IfcRelConnectsWithEccentricity::Class() { return Type::IfcRelConnectsWithEccentricity; } IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcAbstractEntity* e) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); if (v7_AppliedCondition) { e->setArgument(6,(*v7_AppliedCondition)); } else { e->setArgument(6); } if (v8_AdditionalConditions) { e->setArgument(7,(*v8_AdditionalConditions)); } else { e->setArgument(7); } if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } if (v10_ConditionCoordinateSystem) { e->setArgument(9,(*v10_ConditionCoordinateSystem)); } else { e->setArgument(9); } e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithRealizingElements IfcTemplatedEntityList< IfcElement >::ptr IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } -void IfcRelConnectsWithRealizingElements::setConnectionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelConnectsWithRealizingElements::RealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v->generalize());; } +boost::optional< std::string > IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } +void IfcRelConnectsWithRealizingElements::ConnectionType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcRelConnectsWithRealizingElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithRealizingElements || IfcRelConnectsElements::is(v); } Type::Enum IfcRelConnectsWithRealizingElements::type() const { return Type::IfcRelConnectsWithRealizingElements; } Type::Enum IfcRelConnectsWithRealizingElements::Class() { return Type::IfcRelConnectsWithRealizingElements; } IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ConnectionGeometry) { e->setArgument(4,(*v5_ConnectionGeometry)); } else { e->setArgument(4); } e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelContainedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelContainedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelContainedInSpatialStructure::setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelContainedInSpatialStructure::RelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcSpatialElement* IfcRelContainedInSpatialStructure::RelatingStructure() const { return (IfcSpatialElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelContainedInSpatialStructure::setRelatingStructure(IfcSpatialElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelContainedInSpatialStructure::RelatingStructure(IfcSpatialElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelContainedInSpatialStructure::is(Type::Enum v) const { return v == Type::IfcRelContainedInSpatialStructure || IfcRelConnects::is(v); } Type::Enum IfcRelContainedInSpatialStructure::type() const { return Type::IfcRelContainedInSpatialStructure; } Type::Enum IfcRelContainedInSpatialStructure::Class() { return Type::IfcRelContainedInSpatialStructure; } IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } +IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversBldgElements IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelCoversBldgElements::setRelatingBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelCoversBldgElements::RelatingBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcCovering >::ptr IfcRelCoversBldgElements::RelatedCoverings() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelCoversBldgElements::setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelCoversBldgElements::RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRelCoversBldgElements || IfcRelConnects::is(v); } Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversSpaces IfcSpace* IfcRelCoversSpaces::RelatingSpace() const { return (IfcSpace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelCoversSpaces::setRelatingSpace(IfcSpace* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelCoversSpaces::RelatingSpace(IfcSpace* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcCovering >::ptr IfcRelCoversSpaces::RelatedCoverings() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelCoversSpaces::setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelCoversSpaces::RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCoversSpaces || IfcRelConnects::is(v); } Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDeclares IfcContext* IfcRelDeclares::RelatingContext() const { return (IfcContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelDeclares::setRelatingContext(IfcContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelDeclares::RelatingContext(IfcContext* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcEntityList::ptr IfcRelDeclares::RelatedDefinitions() const { return *entity->getArgument(5); } -void IfcRelDeclares::setRelatedDefinitions(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDeclares::RelatedDefinitions(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDeclares::is(Type::Enum v) const { return v == Type::IfcRelDeclares || IfcRelationship::is(v); } Type::Enum IfcRelDeclares::type() const { return Type::IfcRelDeclares; } Type::Enum IfcRelDeclares::Class() { return Type::IfcRelDeclares; } IfcRelDeclares::IfcRelDeclares(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDeclares)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingContext)); e->setArgument(5,(v6_RelatedDefinitions)); entity = e; EntityBuffer::Add(this); } +IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingContext)); e->setArgument(5,(v6_RelatedDefinitions)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDecomposes bool IfcRelDecomposes::is(Type::Enum v) const { return v == Type::IfcRelDecomposes || IfcRelationship::is(v); } Type::Enum IfcRelDecomposes::type() const { return Type::IfcRelDecomposes; } Type::Enum IfcRelDecomposes::Class() { return Type::IfcRelDecomposes; } IfcRelDecomposes::IfcRelDecomposes(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefines bool IfcRelDefines::is(Type::Enum v) const { return v == Type::IfcRelDefines || IfcRelationship::is(v); } Type::Enum IfcRelDefines::type() const { return Type::IfcRelDefines; } Type::Enum IfcRelDefines::Class() { return Type::IfcRelDefines; } IfcRelDefines::IfcRelDefines(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByObject IfcTemplatedEntityList< IfcObject >::ptr IfcRelDefinesByObject::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelDefinesByObject::setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelDefinesByObject::RelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcObject* IfcRelDefinesByObject::RelatingObject() const { return (IfcObject*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelDefinesByObject::setRelatingObject(IfcObject* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDefinesByObject::RelatingObject(IfcObject* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDefinesByObject::is(Type::Enum v) const { return v == Type::IfcRelDefinesByObject || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByObject::type() const { return Type::IfcRelDefinesByObject; } Type::Enum IfcRelDefinesByObject::Class() { return Type::IfcRelDefinesByObject; } IfcRelDefinesByObject::IfcRelDefinesByObject(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingObject)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingObject)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByProperties IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelDefinesByProperties::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelDefinesByProperties::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelDefinesByProperties::RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcPropertySetDefinitionSelect* IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return (IfcPropertySetDefinitionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelDefinesByProperties::setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDefinesByProperties::RelatingPropertyDefinition(IfcPropertySetDefinitionSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDefinesByProperties::is(Type::Enum v) const { return v == Type::IfcRelDefinesByProperties || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByProperties::type() const { return Type::IfcRelDefinesByProperties; } Type::Enum IfcRelDefinesByProperties::Class() { return Type::IfcRelDefinesByProperties; } IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByTemplate IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcRelDefinesByTemplate::RelatedPropertySets() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelDefinesByTemplate::setRelatedPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelDefinesByTemplate::RelatedPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcPropertySetTemplate* IfcRelDefinesByTemplate::RelatingTemplate() const { return (IfcPropertySetTemplate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelDefinesByTemplate::setRelatingTemplate(IfcPropertySetTemplate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDefinesByTemplate::RelatingTemplate(IfcPropertySetTemplate* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDefinesByTemplate::is(Type::Enum v) const { return v == Type::IfcRelDefinesByTemplate || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByTemplate::type() const { return Type::IfcRelDefinesByTemplate; } Type::Enum IfcRelDefinesByTemplate::Class() { return Type::IfcRelDefinesByTemplate; } IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedPropertySets)->generalize()); e->setArgument(5,(v6_RelatingTemplate)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedPropertySets)->generalize()); e->setArgument(5,(v6_RelatingTemplate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByType IfcTemplatedEntityList< IfcObject >::ptr IfcRelDefinesByType::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelDefinesByType::setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelDefinesByType::RelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcTypeObject* IfcRelDefinesByType::RelatingType() const { return (IfcTypeObject*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelDefinesByType::setRelatingType(IfcTypeObject* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelDefinesByType::RelatingType(IfcTypeObject* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelDefinesByType::is(Type::Enum v) const { return v == Type::IfcRelDefinesByType || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByType::type() const { return Type::IfcRelDefinesByType; } Type::Enum IfcRelDefinesByType::Class() { return Type::IfcRelDefinesByType; } IfcRelDefinesByType::IfcRelDefinesByType(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFillsElement IfcOpeningElement* IfcRelFillsElement::RelatingOpeningElement() const { return (IfcOpeningElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelFillsElement::setRelatingOpeningElement(IfcOpeningElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelFillsElement::RelatingOpeningElement(IfcOpeningElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcElement* IfcRelFillsElement::RelatedBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelFillsElement::setRelatedBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelFillsElement::RelatedBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelFillsElement::is(Type::Enum v) const { return v == Type::IfcRelFillsElement || IfcRelConnects::is(v); } Type::Enum IfcRelFillsElement::type() const { return Type::IfcRelFillsElement; } Type::Enum IfcRelFillsElement::Class() { return Type::IfcRelFillsElement; } IfcRelFillsElement::IfcRelFillsElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFlowControlElements IfcTemplatedEntityList< IfcDistributionControlElement >::ptr IfcRelFlowControlElements::RelatedControlElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelFlowControlElements::setRelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelFlowControlElements::RelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcDistributionFlowElement* IfcRelFlowControlElements::RelatingFlowElement() const { return (IfcDistributionFlowElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelFlowControlElements::setRelatingFlowElement(IfcDistributionFlowElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelFlowControlElements::RelatingFlowElement(IfcDistributionFlowElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelFlowControlElements::is(Type::Enum v) const { return v == Type::IfcRelFlowControlElements || IfcRelConnects::is(v); } Type::Enum IfcRelFlowControlElements::type() const { return Type::IfcRelFlowControlElements; } Type::Enum IfcRelFlowControlElements::Class() { return Type::IfcRelFlowControlElements; } IfcRelFlowControlElements::IfcRelFlowControlElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } +IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelInterferesElements IfcElement* IfcRelInterferesElements::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelInterferesElements::setRelatingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelInterferesElements::RelatingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcElement* IfcRelInterferesElements::RelatedElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelInterferesElements::setRelatedElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelInterferesElements::hasInterferenceGeometry() const { return !entity->getArgument(6)->isNull(); } -IfcConnectionGeometry* IfcRelInterferesElements::InterferenceGeometry() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelInterferesElements::setInterferenceGeometry(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelInterferesElements::hasInterferenceType() const { return !entity->getArgument(7)->isNull(); } -std::string IfcRelInterferesElements::InterferenceType() const { return *entity->getArgument(7); } -void IfcRelInterferesElements::setInterferenceType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcRelInterferesElements::RelatedElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcConnectionGeometry* > IfcRelInterferesElements::InterferenceGeometry() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelInterferesElements::InterferenceGeometry(boost::optional< IfcConnectionGeometry* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcRelInterferesElements::InterferenceType() const { return *entity->getArgument(7); } +void IfcRelInterferesElements::InterferenceType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcRelInterferesElements::ImpliedOrder() const { return *entity->getArgument(8); } -void IfcRelInterferesElements::setImpliedOrder(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelInterferesElements::ImpliedOrder(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcRelInterferesElements::is(Type::Enum v) const { return v == Type::IfcRelInterferesElements || IfcRelConnects::is(v); } Type::Enum IfcRelInterferesElements::type() const { return Type::IfcRelInterferesElements; } Type::Enum IfcRelInterferesElements::Class() { return Type::IfcRelInterferesElements; } IfcRelInterferesElements::IfcRelInterferesElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelInterferesElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedElement)); e->setArgument(6,(v7_InterferenceGeometry)); if (v8_InterferenceType) { e->setArgument(7,(*v8_InterferenceType)); } else { e->setArgument(7); } e->setArgument(8,(v9_ImpliedOrder)); entity = e; EntityBuffer::Add(this); } +IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, boost::optional< IfcConnectionGeometry* > v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedElement)); if (v7_InterferenceGeometry) { e->setArgument(6,(*v7_InterferenceGeometry)); } else { e->setArgument(6); } if (v8_InterferenceType) { e->setArgument(7,(*v8_InterferenceType)); } else { e->setArgument(7); } e->setArgument(8,(v9_ImpliedOrder)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelNests IfcObjectDefinition* IfcRelNests::RelatingObject() const { return (IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelNests::setRelatingObject(IfcObjectDefinition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelNests::RelatingObject(IfcObjectDefinition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelNests::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelNests::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelNests::RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelNests::is(Type::Enum v) const { return v == Type::IfcRelNests || IfcRelDecomposes::is(v); } Type::Enum IfcRelNests::type() const { return Type::IfcRelNests; } Type::Enum IfcRelNests::Class() { return Type::IfcRelNests; } IfcRelNests::IfcRelNests(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelNests::IfcRelNests(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelNests::IfcRelNests(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelProjectsElement IfcElement* IfcRelProjectsElement::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelProjectsElement::setRelatingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelProjectsElement::RelatingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcFeatureElementAddition* IfcRelProjectsElement::RelatedFeatureElement() const { return (IfcFeatureElementAddition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelProjectsElement::setRelatedFeatureElement(IfcFeatureElementAddition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelProjectsElement::RelatedFeatureElement(IfcFeatureElementAddition* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelProjectsElement::is(Type::Enum v) const { return v == Type::IfcRelProjectsElement || IfcRelDecomposes::is(v); } Type::Enum IfcRelProjectsElement::type() const { return Type::IfcRelProjectsElement; } Type::Enum IfcRelProjectsElement::Class() { return Type::IfcRelProjectsElement; } IfcRelProjectsElement::IfcRelProjectsElement(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } +IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelReferencedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelReferencedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelReferencedInSpatialStructure::setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +void IfcRelReferencedInSpatialStructure::RelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v->generalize());; } IfcSpatialElement* IfcRelReferencedInSpatialStructure::RelatingStructure() const { return (IfcSpatialElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelReferencedInSpatialStructure::setRelatingStructure(IfcSpatialElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelReferencedInSpatialStructure::RelatingStructure(IfcSpatialElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelReferencedInSpatialStructure::is(Type::Enum v) const { return v == Type::IfcRelReferencedInSpatialStructure || IfcRelConnects::is(v); } Type::Enum IfcRelReferencedInSpatialStructure::type() const { return Type::IfcRelReferencedInSpatialStructure; } Type::Enum IfcRelReferencedInSpatialStructure::Class() { return Type::IfcRelReferencedInSpatialStructure; } IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } +IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSequence IfcProcess* IfcRelSequence::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelSequence::setRelatingProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelSequence::RelatingProcess(IfcProcess* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcProcess* IfcRelSequence::RelatedProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelSequence::setRelatedProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelSequence::hasTimeLag() const { return !entity->getArgument(6)->isNull(); } -IfcLagTime* IfcRelSequence::TimeLag() const { return (IfcLagTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelSequence::setTimeLag(IfcLagTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelSequence::hasSequenceType() const { return !entity->getArgument(7)->isNull(); } -IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() const { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } -void IfcRelSequence::setSequenceType(IfcSequenceEnum::IfcSequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcSequenceEnum::ToString(v)); } -bool IfcRelSequence::hasUserDefinedSequenceType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcRelSequence::UserDefinedSequenceType() const { return *entity->getArgument(8); } -void IfcRelSequence::setUserDefinedSequenceType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcRelSequence::RelatedProcess(IfcProcess* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcLagTime* > IfcRelSequence::TimeLag() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcLagTime*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelSequence::TimeLag(boost::optional< IfcLagTime* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcSequenceEnum::IfcSequenceEnum > IfcRelSequence::SequenceType() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return IfcSequenceEnum::FromString(*arg); } } +void IfcRelSequence::SequenceType(boost::optional< IfcSequenceEnum::IfcSequenceEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v,IfcSequenceEnum::ToString(*v));; } else { w->setArgument(7); } } +boost::optional< std::string > IfcRelSequence::UserDefinedSequenceType() const { return *entity->getArgument(8); } +void IfcRelSequence::UserDefinedSequenceType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcRelSequence::is(Type::Enum v) const { return v == Type::IfcRelSequence || IfcRelConnects::is(v); } Type::Enum IfcRelSequence::type() const { return Type::IfcRelSequence; } Type::Enum IfcRelSequence::Class() { return Type::IfcRelSequence; } IfcRelSequence::IfcRelSequence(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); if (v8_SequenceType) { e->setArgument(7,*v8_SequenceType,IfcSequenceEnum::ToString(*v8_SequenceType)); } else { e->setArgument(7); } if (v9_UserDefinedSequenceType) { e->setArgument(8,(*v9_UserDefinedSequenceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, boost::optional< IfcLagTime* > v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); if (v7_TimeLag) { e->setArgument(6,(*v7_TimeLag)); } else { e->setArgument(6); } if (v8_SequenceType) { e->setArgument(7,*v8_SequenceType,IfcSequenceEnum::ToString(*v8_SequenceType)); } else { e->setArgument(7); } if (v9_UserDefinedSequenceType) { e->setArgument(8,(*v9_UserDefinedSequenceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelServicesBuildings IfcSystem* IfcRelServicesBuildings::RelatingSystem() const { return (IfcSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelServicesBuildings::setRelatingSystem(IfcSystem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelServicesBuildings::RelatingSystem(IfcSystem* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcSpatialElement >::ptr IfcRelServicesBuildings::RelatedBuildings() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelServicesBuildings::setRelatedBuildings(IfcTemplatedEntityList< IfcSpatialElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcRelServicesBuildings::RelatedBuildings(IfcTemplatedEntityList< IfcSpatialElement >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcRelServicesBuildings::is(Type::Enum v) const { return v == Type::IfcRelServicesBuildings || IfcRelConnects::is(v); } Type::Enum IfcRelServicesBuildings::type() const { return Type::IfcRelServicesBuildings; } Type::Enum IfcRelServicesBuildings::Class() { return Type::IfcRelServicesBuildings; } IfcRelServicesBuildings::IfcRelServicesBuildings(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary IfcSpaceBoundarySelect* IfcRelSpaceBoundary::RelatingSpace() const { return (IfcSpaceBoundarySelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelSpaceBoundary::setRelatingSpace(IfcSpaceBoundarySelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelSpaceBoundary::RelatingSpace(IfcSpaceBoundarySelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcElement* IfcRelSpaceBoundary::RelatedBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelSpaceBoundary::setRelatedBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelSpaceBoundary::hasConnectionGeometry() const { return !entity->getArgument(6)->isNull(); } -IfcConnectionGeometry* IfcRelSpaceBoundary::ConnectionGeometry() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcRelSpaceBoundary::setConnectionGeometry(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcRelSpaceBoundary::RelatedBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } +boost::optional< IfcConnectionGeometry* > IfcRelSpaceBoundary::ConnectionGeometry() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelSpaceBoundary::ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return IfcPhysicalOrVirtualEnum::FromString(*entity->getArgument(7)); } -void IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcPhysicalOrVirtualEnum::ToString(v)); } +void IfcRelSpaceBoundary::PhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcPhysicalOrVirtualEnum::ToString(v));; } IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(8)); } -void IfcRelSpaceBoundary::setInternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcInternalOrExternalEnum::ToString(v)); } +void IfcRelSpaceBoundary::InternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcInternalOrExternalEnum::ToString(v));; } bool IfcRelSpaceBoundary::is(Type::Enum v) const { return v == Type::IfcRelSpaceBoundary || IfcRelConnects::is(v); } Type::Enum IfcRelSpaceBoundary::type() const { return Type::IfcRelSpaceBoundary; } Type::Enum IfcRelSpaceBoundary::Class() { return Type::IfcRelSpaceBoundary; } IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); if (v7_ConnectionGeometry) { e->setArgument(6,(*v7_ConnectionGeometry)); } else { e->setArgument(6); } e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary1stLevel -bool IfcRelSpaceBoundary1stLevel::hasParentBoundary() const { return !entity->getArgument(9)->isNull(); } -IfcRelSpaceBoundary1stLevel* IfcRelSpaceBoundary1stLevel::ParentBoundary() const { return (IfcRelSpaceBoundary1stLevel*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcRelSpaceBoundary1stLevel::setParentBoundary(IfcRelSpaceBoundary1stLevel* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< IfcRelSpaceBoundary1stLevel* > IfcRelSpaceBoundary1stLevel::ParentBoundary() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcRelSpaceBoundary1stLevel*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelSpaceBoundary1stLevel::ParentBoundary(boost::optional< IfcRelSpaceBoundary1stLevel* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } IfcRelSpaceBoundary1stLevel::list::ptr IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return entity->getInverse(Type::IfcRelSpaceBoundary1stLevel, 9)->as(); } bool IfcRelSpaceBoundary1stLevel::is(Type::Enum v) const { return v == Type::IfcRelSpaceBoundary1stLevel || IfcRelSpaceBoundary::is(v); } Type::Enum IfcRelSpaceBoundary1stLevel::type() const { return Type::IfcRelSpaceBoundary1stLevel; } Type::Enum IfcRelSpaceBoundary1stLevel::Class() { return Type::IfcRelSpaceBoundary1stLevel; } IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcAbstractEntity* e) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary1stLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, boost::optional< IfcRelSpaceBoundary1stLevel* > v10_ParentBoundary) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); if (v7_ConnectionGeometry) { e->setArgument(6,(*v7_ConnectionGeometry)); } else { e->setArgument(6); } e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); if (v10_ParentBoundary) { e->setArgument(9,(*v10_ParentBoundary)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary2ndLevel -bool IfcRelSpaceBoundary2ndLevel::hasCorrespondingBoundary() const { return !entity->getArgument(10)->isNull(); } -IfcRelSpaceBoundary2ndLevel* IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { return (IfcRelSpaceBoundary2ndLevel*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } -void IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(IfcRelSpaceBoundary2ndLevel* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcRelSpaceBoundary2ndLevel* > IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return (IfcRelSpaceBoundary2ndLevel*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary(boost::optional< IfcRelSpaceBoundary2ndLevel* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } IfcRelSpaceBoundary2ndLevel::list::ptr IfcRelSpaceBoundary2ndLevel::Corresponds() const { return entity->getInverse(Type::IfcRelSpaceBoundary2ndLevel, 10)->as(); } bool IfcRelSpaceBoundary2ndLevel::is(Type::Enum v) const { return v == Type::IfcRelSpaceBoundary2ndLevel || IfcRelSpaceBoundary1stLevel::is(v); } Type::Enum IfcRelSpaceBoundary2ndLevel::type() const { return Type::IfcRelSpaceBoundary2ndLevel; } Type::Enum IfcRelSpaceBoundary2ndLevel::Class() { return Type::IfcRelSpaceBoundary2ndLevel; } IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcAbstractEntity* e) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary2ndLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); e->setArgument(10,(v11_CorrespondingBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, boost::optional< IfcRelSpaceBoundary1stLevel* > v10_ParentBoundary, boost::optional< IfcRelSpaceBoundary2ndLevel* > v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); if (v7_ConnectionGeometry) { e->setArgument(6,(*v7_ConnectionGeometry)); } else { e->setArgument(6); } e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); if (v10_ParentBoundary) { e->setArgument(9,(*v10_ParentBoundary)); } else { e->setArgument(9); } if (v11_CorrespondingBoundary) { e->setArgument(10,(*v11_CorrespondingBoundary)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelVoidsElement IfcElement* IfcRelVoidsElement::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRelVoidsElement::setRelatingBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRelVoidsElement::RelatingBuildingElement(IfcElement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcFeatureElementSubtraction* IfcRelVoidsElement::RelatedOpeningElement() const { return (IfcFeatureElementSubtraction*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcRelVoidsElement::setRelatedOpeningElement(IfcFeatureElementSubtraction* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRelVoidsElement::RelatedOpeningElement(IfcFeatureElementSubtraction* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRelVoidsElement::is(Type::Enum v) const { return v == Type::IfcRelVoidsElement || IfcRelDecomposes::is(v); } Type::Enum IfcRelVoidsElement::type() const { return Type::IfcRelVoidsElement; } Type::Enum IfcRelVoidsElement::Class() { return Type::IfcRelVoidsElement; } IfcRelVoidsElement::IfcRelVoidsElement(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } +IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelationship bool IfcRelationship::is(Type::Enum v) const { return v == Type::IfcRelationship || IfcRoot::is(v); } Type::Enum IfcRelationship::type() const { return Type::IfcRelationship; } Type::Enum IfcRelationship::Class() { return Type::IfcRelationship; } IfcRelationship::IfcRelationship(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelationship::IfcRelationship(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelationship::IfcRelationship(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReparametrisedCompositeCurveSegment double IfcReparametrisedCompositeCurveSegment::ParamLength() const { return *entity->getArgument(3); } -void IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcReparametrisedCompositeCurveSegment::ParamLength(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcReparametrisedCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcReparametrisedCompositeCurveSegment || IfcCompositeCurveSegment::is(v); } Type::Enum IfcReparametrisedCompositeCurveSegment::type() const { return Type::IfcReparametrisedCompositeCurveSegment; } Type::Enum IfcReparametrisedCompositeCurveSegment::Class() { return Type::IfcReparametrisedCompositeCurveSegment; } @@ -14369,15 +13843,13 @@ IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(I // Function implementations for IfcRepresentation IfcRepresentationContext* IfcRepresentation::ContextOfItems() const { return (IfcRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcRepresentation::setContextOfItems(IfcRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRepresentation::hasRepresentationIdentifier() const { return !entity->getArgument(1)->isNull(); } -std::string IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } -void IfcRepresentation::setRepresentationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRepresentation::hasRepresentationType() const { return !entity->getArgument(2)->isNull(); } -std::string IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } -void IfcRepresentation::setRepresentationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRepresentation::ContextOfItems(IfcRepresentationContext* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } +void IfcRepresentation::RepresentationIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } +void IfcRepresentation::RepresentationType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +void IfcRepresentation::Items(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v->generalize());; } IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return entity->getInverse(Type::IfcRepresentationMap, 1)->as(); } IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return entity->getInverse(Type::IfcPresentationLayerAssignment, 2)->as(); } IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return entity->getInverse(Type::IfcProductRepresentation, 2)->as(); } @@ -14388,12 +13860,10 @@ IfcRepresentation::IfcRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEnt IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationContext -bool IfcRepresentationContext::hasContextIdentifier() const { return !entity->getArgument(0)->isNull(); } -std::string IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } -void IfcRepresentationContext::setContextIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRepresentationContext::hasContextType() const { return !entity->getArgument(1)->isNull(); } -std::string IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } -void IfcRepresentationContext::setContextType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } +void IfcRepresentationContext::ContextIdentifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } +void IfcRepresentationContext::ContextType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return entity->getInverse(Type::IfcRepresentation, 0)->as(); } bool IfcRepresentationContext::is(Type::Enum v) const { return v == Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::type() const { return Type::IfcRepresentationContext; } @@ -14412,9 +13882,9 @@ IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() { IfcW // Function implementations for IfcRepresentationMap IfcAxis2Placement* IfcRepresentationMap::MappingOrigin() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcRepresentationMap::MappingOrigin(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRepresentationMap::MappedRepresentation(IfcRepresentation* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcShapeAspect::list::ptr IfcRepresentationMap::HasShapeAspects() const { return entity->getInverse(Type::IfcShapeAspect, 4)->as(); } IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return entity->getInverse(Type::IfcMappedItem, 0)->as(); } bool IfcRepresentationMap::is(Type::Enum v) const { return v == Type::IfcRepresentationMap; } @@ -14424,24 +13894,22 @@ IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntity* e) : IfcUtil::IfcB IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement* v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResource -bool IfcResource::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -std::string IfcResource::Identification() const { return *entity->getArgument(5); } -void IfcResource::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcResource::hasLongDescription() const { return !entity->getArgument(6)->isNull(); } -std::string IfcResource::LongDescription() const { return *entity->getArgument(6); } -void IfcResource::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< std::string > IfcResource::Identification() const { return *entity->getArgument(5); } +void IfcResource::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcResource::LongDescription() const { return *entity->getArgument(6); } +void IfcResource::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource, 6)->as(); } bool IfcResource::is(Type::Enum v) const { return v == Type::IfcResource || IfcObject::is(v); } Type::Enum IfcResource::type() const { return Type::IfcResource; } Type::Enum IfcResource::Class() { return Type::IfcResource; } IfcResource::IfcResource(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResource::IfcResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcResource::IfcResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceApprovalRelationship IfcEntityList::ptr IfcResourceApprovalRelationship::RelatedResourceObjects() const { return *entity->getArgument(2); } -void IfcResourceApprovalRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcResourceApprovalRelationship::RelatedResourceObjects(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcApproval* IfcResourceApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcResourceApprovalRelationship::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcResourceApprovalRelationship::RelatingApproval(IfcApproval* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcResourceApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcResourceApprovalRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcResourceApprovalRelationship::type() const { return Type::IfcResourceApprovalRelationship; } Type::Enum IfcResourceApprovalRelationship::Class() { return Type::IfcResourceApprovalRelationship; } @@ -14450,9 +13918,9 @@ IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional // Function implementations for IfcResourceConstraintRelationship IfcConstraint* IfcResourceConstraintRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcResourceConstraintRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcResourceConstraintRelationship::RelatingConstraint(IfcConstraint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcEntityList::ptr IfcResourceConstraintRelationship::RelatedResourceObjects() const { return *entity->getArgument(3); } -void IfcResourceConstraintRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcResourceConstraintRelationship::RelatedResourceObjects(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcResourceConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcResourceConstraintRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcResourceConstraintRelationship::type() const { return Type::IfcResourceConstraintRelationship; } Type::Enum IfcResourceConstraintRelationship::Class() { return Type::IfcResourceConstraintRelationship; } @@ -14460,12 +13928,10 @@ IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcAbstract IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceLevelRelationship -bool IfcResourceLevelRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcResourceLevelRelationship::Name() const { return *entity->getArgument(0); } -void IfcResourceLevelRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcResourceLevelRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcResourceLevelRelationship::Description() const { return *entity->getArgument(1); } -void IfcResourceLevelRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< std::string > IfcResourceLevelRelationship::Name() const { return *entity->getArgument(0); } +void IfcResourceLevelRelationship::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcResourceLevelRelationship::Description() const { return *entity->getArgument(1); } +void IfcResourceLevelRelationship::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcResourceLevelRelationship::is(Type::Enum v) const { return v == Type::IfcResourceLevelRelationship; } Type::Enum IfcResourceLevelRelationship::type() const { return Type::IfcResourceLevelRelationship; } Type::Enum IfcResourceLevelRelationship::Class() { return Type::IfcResourceLevelRelationship; } @@ -14473,51 +13939,36 @@ IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcAbstractEntity* e) IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceTime -bool IfcResourceTime::hasScheduleWork() const { return !entity->getArgument(3)->isNull(); } -std::string IfcResourceTime::ScheduleWork() const { return *entity->getArgument(3); } -void IfcResourceTime::setScheduleWork(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcResourceTime::hasScheduleUsage() const { return !entity->getArgument(4)->isNull(); } -double IfcResourceTime::ScheduleUsage() const { return *entity->getArgument(4); } -void IfcResourceTime::setScheduleUsage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcResourceTime::hasScheduleStart() const { return !entity->getArgument(5)->isNull(); } -std::string IfcResourceTime::ScheduleStart() const { return *entity->getArgument(5); } -void IfcResourceTime::setScheduleStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcResourceTime::hasScheduleFinish() const { return !entity->getArgument(6)->isNull(); } -std::string IfcResourceTime::ScheduleFinish() const { return *entity->getArgument(6); } -void IfcResourceTime::setScheduleFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcResourceTime::hasScheduleContour() const { return !entity->getArgument(7)->isNull(); } -std::string IfcResourceTime::ScheduleContour() const { return *entity->getArgument(7); } -void IfcResourceTime::setScheduleContour(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcResourceTime::hasLevelingDelay() const { return !entity->getArgument(8)->isNull(); } -std::string IfcResourceTime::LevelingDelay() const { return *entity->getArgument(8); } -void IfcResourceTime::setLevelingDelay(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcResourceTime::hasIsOverAllocated() const { return !entity->getArgument(9)->isNull(); } -bool IfcResourceTime::IsOverAllocated() const { return *entity->getArgument(9); } -void IfcResourceTime::setIsOverAllocated(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcResourceTime::hasStatusTime() const { return !entity->getArgument(10)->isNull(); } -std::string IfcResourceTime::StatusTime() const { return *entity->getArgument(10); } -void IfcResourceTime::setStatusTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcResourceTime::hasActualWork() const { return !entity->getArgument(11)->isNull(); } -std::string IfcResourceTime::ActualWork() const { return *entity->getArgument(11); } -void IfcResourceTime::setActualWork(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcResourceTime::hasActualUsage() const { return !entity->getArgument(12)->isNull(); } -double IfcResourceTime::ActualUsage() const { return *entity->getArgument(12); } -void IfcResourceTime::setActualUsage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcResourceTime::hasActualStart() const { return !entity->getArgument(13)->isNull(); } -std::string IfcResourceTime::ActualStart() const { return *entity->getArgument(13); } -void IfcResourceTime::setActualStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcResourceTime::hasActualFinish() const { return !entity->getArgument(14)->isNull(); } -std::string IfcResourceTime::ActualFinish() const { return *entity->getArgument(14); } -void IfcResourceTime::setActualFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcResourceTime::hasRemainingWork() const { return !entity->getArgument(15)->isNull(); } -std::string IfcResourceTime::RemainingWork() const { return *entity->getArgument(15); } -void IfcResourceTime::setRemainingWork(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcResourceTime::hasRemainingUsage() const { return !entity->getArgument(16)->isNull(); } -double IfcResourceTime::RemainingUsage() const { return *entity->getArgument(16); } -void IfcResourceTime::setRemainingUsage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcResourceTime::hasCompletion() const { return !entity->getArgument(17)->isNull(); } -double IfcResourceTime::Completion() const { return *entity->getArgument(17); } -void IfcResourceTime::setCompletion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +boost::optional< std::string > IfcResourceTime::ScheduleWork() const { return *entity->getArgument(3); } +void IfcResourceTime::ScheduleWork(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcResourceTime::ScheduleUsage() const { return *entity->getArgument(4); } +void IfcResourceTime::ScheduleUsage(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcResourceTime::ScheduleStart() const { return *entity->getArgument(5); } +void IfcResourceTime::ScheduleStart(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcResourceTime::ScheduleFinish() const { return *entity->getArgument(6); } +void IfcResourceTime::ScheduleFinish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcResourceTime::ScheduleContour() const { return *entity->getArgument(7); } +void IfcResourceTime::ScheduleContour(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcResourceTime::LevelingDelay() const { return *entity->getArgument(8); } +void IfcResourceTime::LevelingDelay(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< bool > IfcResourceTime::IsOverAllocated() const { return *entity->getArgument(9); } +void IfcResourceTime::IsOverAllocated(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcResourceTime::StatusTime() const { return *entity->getArgument(10); } +void IfcResourceTime::StatusTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< std::string > IfcResourceTime::ActualWork() const { return *entity->getArgument(11); } +void IfcResourceTime::ActualWork(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcResourceTime::ActualUsage() const { return *entity->getArgument(12); } +void IfcResourceTime::ActualUsage(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< std::string > IfcResourceTime::ActualStart() const { return *entity->getArgument(13); } +void IfcResourceTime::ActualStart(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< std::string > IfcResourceTime::ActualFinish() const { return *entity->getArgument(14); } +void IfcResourceTime::ActualFinish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< std::string > IfcResourceTime::RemainingWork() const { return *entity->getArgument(15); } +void IfcResourceTime::RemainingWork(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcResourceTime::RemainingUsage() const { return *entity->getArgument(16); } +void IfcResourceTime::RemainingUsage(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< double > IfcResourceTime::Completion() const { return *entity->getArgument(17); } +void IfcResourceTime::Completion(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v); } else { w->setArgument(17); } } bool IfcResourceTime::is(Type::Enum v) const { return v == Type::IfcResourceTime || IfcSchedulingTime::is(v); } Type::Enum IfcResourceTime::type() const { return Type::IfcResourceTime; } Type::Enum IfcResourceTime::Class() { return Type::IfcResourceTime; } @@ -14526,29 +13977,29 @@ IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost:: // Function implementations for IfcRevolvedAreaSolid IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcRevolvedAreaSolid::setAxis(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRevolvedAreaSolid::Axis(IfcAxis1Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } -void IfcRevolvedAreaSolid::setAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRevolvedAreaSolid::Angle(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcRevolvedAreaSolid::is(Type::Enum v) const { return v == Type::IfcRevolvedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcRevolvedAreaSolid::type() const { return Type::IfcRevolvedAreaSolid; } Type::Enum IfcRevolvedAreaSolid::Class() { return Type::IfcRevolvedAreaSolid; } IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } +IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolidTapered IfcProfileDef* IfcRevolvedAreaSolidTapered::EndSweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcRevolvedAreaSolidTapered::setEndSweptArea(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcRevolvedAreaSolidTapered::EndSweptArea(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcRevolvedAreaSolidTapered::is(Type::Enum v) const { return v == Type::IfcRevolvedAreaSolidTapered || IfcRevolvedAreaSolid::is(v); } Type::Enum IfcRevolvedAreaSolidTapered::type() const { return Type::IfcRevolvedAreaSolidTapered; } Type::Enum IfcRevolvedAreaSolidTapered::Class() { return Type::IfcRevolvedAreaSolidTapered; } IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcAbstractEntity* e) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle, IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } +IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle, IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCone double IfcRightCircularCone::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCone::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRightCircularCone::Height(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } -void IfcRightCircularCone::setBottomRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRightCircularCone::BottomRadius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcRightCircularCone::is(Type::Enum v) const { return v == Type::IfcRightCircularCone || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCone::type() const { return Type::IfcRightCircularCone; } Type::Enum IfcRightCircularCone::Class() { return Type::IfcRightCircularCone; } @@ -14557,9 +14008,9 @@ IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, dou // Function implementations for IfcRightCircularCylinder double IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCylinder::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcRightCircularCylinder::Height(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } double IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } -void IfcRightCircularCylinder::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcRightCircularCylinder::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcRightCircularCylinder::is(Type::Enum v) const { return v == Type::IfcRightCircularCylinder || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCylinder::type() const { return Type::IfcRightCircularCylinder; } Type::Enum IfcRightCircularCylinder::Class() { return Type::IfcRightCircularCylinder; } @@ -14567,57 +14018,52 @@ IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntity* e) : IfcCs IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoof -bool IfcRoof::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoof::PredefinedType() const { return IfcRoofTypeEnum::FromString(*entity->getArgument(8)); } -void IfcRoof::setPredefinedType(IfcRoofTypeEnum::IfcRoofTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcRoofTypeEnum::ToString(v)); } +boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > IfcRoof::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcRoofTypeEnum::FromString(*arg); } } +void IfcRoof::PredefinedType(boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcRoofTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcRoof::is(Type::Enum v) const { return v == Type::IfcRoof || IfcBuildingElement::is(v); } Type::Enum IfcRoof::type() const { return Type::IfcRoof; } Type::Enum IfcRoof::Class() { return Type::IfcRoof; } IfcRoof::IfcRoof(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoof::IfcRoof(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRoofTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRoof::IfcRoof(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRoofTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoofType IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoofType::PredefinedType() const { return IfcRoofTypeEnum::FromString(*entity->getArgument(9)); } -void IfcRoofType::setPredefinedType(IfcRoofTypeEnum::IfcRoofTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcRoofTypeEnum::ToString(v)); } +void IfcRoofType::PredefinedType(IfcRoofTypeEnum::IfcRoofTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcRoofTypeEnum::ToString(v));; } bool IfcRoofType::is(Type::Enum v) const { return v == Type::IfcRoofType || IfcBuildingElementType::is(v); } Type::Enum IfcRoofType::type() const { return Type::IfcRoofType; } Type::Enum IfcRoofType::Class() { return Type::IfcRoofType; } IfcRoofType::IfcRoofType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoofType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoofType::IfcRoofType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRoofTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRoofType::IfcRoofType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRoofTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoot std::string IfcRoot::GlobalId() const { return *entity->getArgument(0); } -void IfcRoot::setGlobalId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRoot::hasOwnerHistory() const { return !entity->getArgument(1)->isNull(); } -IfcOwnerHistory* IfcRoot::OwnerHistory() const { return (IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcRoot::setOwnerHistory(IfcOwnerHistory* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRoot::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcRoot::Name() const { return *entity->getArgument(2); } -void IfcRoot::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRoot::hasDescription() const { return !entity->getArgument(3)->isNull(); } -std::string IfcRoot::Description() const { return *entity->getArgument(3); } -void IfcRoot::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcRoot::GlobalId(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcOwnerHistory* > IfcRoot::OwnerHistory() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcRoot::OwnerHistory(boost::optional< IfcOwnerHistory* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcRoot::Name() const { return *entity->getArgument(2); } +void IfcRoot::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcRoot::Description() const { return *entity->getArgument(3); } +void IfcRoot::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcRoot::is(Type::Enum v) const { return v == Type::IfcRoot; } Type::Enum IfcRoot::type() const { return Type::IfcRoot; } Type::Enum IfcRoot::Class() { return Type::IfcRoot; } IfcRoot::IfcRoot(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoot::IfcRoot(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRoot::IfcRoot(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedRectangleProfileDef double IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } -void IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcRoundedRectangleProfileDef::RoundingRadius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcRoundedRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRoundedRectangleProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRoundedRectangleProfileDef::type() const { return Type::IfcRoundedRectangleProfileDef; } Type::Enum IfcRoundedRectangleProfileDef::Class() { return Type::IfcRoundedRectangleProfileDef; } IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } +IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSIUnit -bool IfcSIUnit::hasPrefix() const { return !entity->getArgument(2)->isNull(); } -IfcSIPrefix::IfcSIPrefix IfcSIUnit::Prefix() const { return IfcSIPrefix::FromString(*entity->getArgument(2)); } -void IfcSIUnit::setPrefix(IfcSIPrefix::IfcSIPrefix v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcSIPrefix::ToString(v)); } +boost::optional< IfcSIPrefix::IfcSIPrefix > IfcSIUnit::Prefix() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return IfcSIPrefix::FromString(*arg); } } +void IfcSIUnit::Prefix(boost::optional< IfcSIPrefix::IfcSIPrefix > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v,IfcSIPrefix::ToString(*v));; } else { w->setArgument(2); } } IfcSIUnitName::IfcSIUnitName IfcSIUnit::Name() const { return IfcSIUnitName::FromString(*entity->getArgument(3)); } -void IfcSIUnit::setName(IfcSIUnitName::IfcSIUnitName v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcSIUnitName::ToString(v)); } +void IfcSIUnit::Name(IfcSIUnitName::IfcSIUnitName v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v,IfcSIUnitName::ToString(v));; } bool IfcSIUnit::is(Type::Enum v) const { return v == Type::IfcSIUnit || IfcNamedUnit::is(v); } Type::Enum IfcSIUnit::type() const { return Type::IfcSIUnit; } Type::Enum IfcSIUnit::Class() { return Type::IfcSIUnit; } @@ -14625,34 +14071,30 @@ IfcSIUnit::IfcSIUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) IfcSIUnit::IfcSIUnit(IfcUnitEnum::IfcUnitEnum v2_UnitType, boost::optional< IfcSIPrefix::IfcSIPrefix > v3_Prefix, IfcSIUnitName::IfcSIUnitName v4_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgumentDerived(0); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); if (v3_Prefix) { e->setArgument(2,*v3_Prefix,IfcSIPrefix::ToString(*v3_Prefix)); } else { e->setArgument(2); } e->setArgument(3,v4_Name,IfcSIUnitName::ToString(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSanitaryTerminal -bool IfcSanitaryTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminal::PredefinedType() const { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSanitaryTerminal::setPredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSanitaryTerminalTypeEnum::ToString(v)); } +boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > IfcSanitaryTerminal::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSanitaryTerminalTypeEnum::FromString(*arg); } } +void IfcSanitaryTerminal::PredefinedType(boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSanitaryTerminalTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSanitaryTerminal::is(Type::Enum v) const { return v == Type::IfcSanitaryTerminal || IfcFlowTerminal::is(v); } Type::Enum IfcSanitaryTerminal::type() const { return Type::IfcSanitaryTerminal; } Type::Enum IfcSanitaryTerminal::Class() { return Type::IfcSanitaryTerminal; } IfcSanitaryTerminal::IfcSanitaryTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSanitaryTerminalType IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminalType::PredefinedType() const { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSanitaryTerminalType::setPredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSanitaryTerminalTypeEnum::ToString(v)); } +void IfcSanitaryTerminalType::PredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSanitaryTerminalTypeEnum::ToString(v));; } bool IfcSanitaryTerminalType::is(Type::Enum v) const { return v == Type::IfcSanitaryTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcSanitaryTerminalType::type() const { return Type::IfcSanitaryTerminalType; } Type::Enum IfcSanitaryTerminalType::Class() { return Type::IfcSanitaryTerminalType; } IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSchedulingTime -bool IfcSchedulingTime::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcSchedulingTime::Name() const { return *entity->getArgument(0); } -void IfcSchedulingTime::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSchedulingTime::hasDataOrigin() const { return !entity->getArgument(1)->isNull(); } -IfcDataOriginEnum::IfcDataOriginEnum IfcSchedulingTime::DataOrigin() const { return IfcDataOriginEnum::FromString(*entity->getArgument(1)); } -void IfcSchedulingTime::setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcDataOriginEnum::ToString(v)); } -bool IfcSchedulingTime::hasUserDefinedDataOrigin() const { return !entity->getArgument(2)->isNull(); } -std::string IfcSchedulingTime::UserDefinedDataOrigin() const { return *entity->getArgument(2); } -void IfcSchedulingTime::setUserDefinedDataOrigin(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< std::string > IfcSchedulingTime::Name() const { return *entity->getArgument(0); } +void IfcSchedulingTime::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > IfcSchedulingTime::DataOrigin() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return IfcDataOriginEnum::FromString(*arg); } } +void IfcSchedulingTime::DataOrigin(boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v,IfcDataOriginEnum::ToString(*v));; } else { w->setArgument(1); } } +boost::optional< std::string > IfcSchedulingTime::UserDefinedDataOrigin() const { return *entity->getArgument(2); } +void IfcSchedulingTime::UserDefinedDataOrigin(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcSchedulingTime::is(Type::Enum v) const { return v == Type::IfcSchedulingTime; } Type::Enum IfcSchedulingTime::type() const { return Type::IfcSchedulingTime; } Type::Enum IfcSchedulingTime::Class() { return Type::IfcSchedulingTime; } @@ -14661,32 +14103,30 @@ IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boo // Function implementations for IfcSectionProperties IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() const { return IfcSectionTypeEnum::FromString(*entity->getArgument(0)); } -void IfcSectionProperties::setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcSectionTypeEnum::ToString(v)); } +void IfcSectionProperties::SectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v,IfcSectionTypeEnum::ToString(v));; } IfcProfileDef* IfcSectionProperties::StartProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSectionProperties::setStartProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSectionProperties::hasEndProfile() const { return !entity->getArgument(2)->isNull(); } -IfcProfileDef* IfcSectionProperties::EndProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSectionProperties::setEndProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSectionProperties::StartProfile(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< IfcProfileDef* > IfcSectionProperties::EndProfile() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSectionProperties::EndProfile(boost::optional< IfcProfileDef* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcSectionProperties::is(Type::Enum v) const { return v == Type::IfcSectionProperties || IfcPreDefinedProperties::is(v); } Type::Enum IfcSectionProperties::type() const { return Type::IfcSectionProperties; } Type::Enum IfcSectionProperties::Class() { return Type::IfcSectionProperties; } IfcSectionProperties::IfcSectionProperties(IfcAbstractEntity* e) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSectionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionProperties::IfcSectionProperties(IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_SectionType,IfcSectionTypeEnum::ToString(v1_SectionType)); e->setArgument(1,(v2_StartProfile)); e->setArgument(2,(v3_EndProfile)); entity = e; EntityBuffer::Add(this); } +IfcSectionProperties::IfcSectionProperties(IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, boost::optional< IfcProfileDef* > v3_EndProfile) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_SectionType,IfcSectionTypeEnum::ToString(v1_SectionType)); e->setArgument(1,(v2_StartProfile)); if (v3_EndProfile) { e->setArgument(2,(*v3_EndProfile)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionReinforcementProperties double IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } -void IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSectionReinforcementProperties::LongitudinalStartPosition(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } -void IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSectionReinforcementProperties::hasTransversePosition() const { return !entity->getArgument(2)->isNull(); } -double IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } -void IfcSectionReinforcementProperties::setTransversePosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSectionReinforcementProperties::LongitudinalEndPosition(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< double > IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } +void IfcSectionReinforcementProperties::TransversePosition(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } -void IfcSectionReinforcementProperties::setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v)); } +void IfcSectionReinforcementProperties::ReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v));; } IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() const { return (IfcSectionProperties*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcSectionReinforcementProperties::setSectionDefinition(IfcSectionProperties* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSectionReinforcementProperties::SectionDefinition(IfcSectionProperties* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +void IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v->generalize());; } bool IfcSectionReinforcementProperties::is(Type::Enum v) const { return v == Type::IfcSectionReinforcementProperties || IfcPreDefinedProperties::is(v); } Type::Enum IfcSectionReinforcementProperties::type() const { return Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::Class() { return Type::IfcSectionReinforcementProperties; } @@ -14695,11 +14135,11 @@ IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_L // Function implementations for IfcSectionedSpine IfcCompositeCurve* IfcSectionedSpine::SpineCurve() const { return (IfcCompositeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSectionedSpine::setSpineCurve(IfcCompositeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSectionedSpine::SpineCurve(IfcCompositeCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcTemplatedEntityList< IfcProfileDef >::ptr IfcSectionedSpine::CrossSections() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcSectionedSpine::setCrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcSectionedSpine::CrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr IfcSectionedSpine::CrossSectionPositions() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcSectionedSpine::setCrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +void IfcSectionedSpine::CrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v->generalize());; } bool IfcSectionedSpine::is(Type::Enum v) const { return v == Type::IfcSectionedSpine || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSectionedSpine::type() const { return Type::IfcSectionedSpine; } Type::Enum IfcSectionedSpine::Class() { return Type::IfcSectionedSpine; } @@ -14707,62 +14147,57 @@ IfcSectionedSpine::IfcSectionedSpine(IfcAbstractEntity* e) : IfcGeometricReprese IfcSectionedSpine::IfcSectionedSpine(IfcCompositeCurve* v1_SpineCurve, IfcTemplatedEntityList< IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SpineCurve)); e->setArgument(1,(v2_CrossSections)->generalize()); e->setArgument(2,(v3_CrossSectionPositions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSensor -bool IfcSensor::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensor::PredefinedType() const { return IfcSensorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSensor::setPredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSensorTypeEnum::ToString(v)); } +boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > IfcSensor::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSensorTypeEnum::FromString(*arg); } } +void IfcSensor::PredefinedType(boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSensorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSensor::is(Type::Enum v) const { return v == Type::IfcSensor || IfcDistributionControlElement::is(v); } Type::Enum IfcSensor::type() const { return Type::IfcSensor; } Type::Enum IfcSensor::Class() { return Type::IfcSensor; } IfcSensor::IfcSensor(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensor::IfcSensor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSensorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSensor::IfcSensor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSensorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSensorType IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorType::PredefinedType() const { return IfcSensorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSensorType::setPredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSensorTypeEnum::ToString(v)); } +void IfcSensorType::PredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSensorTypeEnum::ToString(v));; } bool IfcSensorType::is(Type::Enum v) const { return v == Type::IfcSensorType || IfcDistributionControlElementType::is(v); } Type::Enum IfcSensorType::type() const { return Type::IfcSensorType; } Type::Enum IfcSensorType::Class() { return Type::IfcSensorType; } IfcSensorType::IfcSensorType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensorType::IfcSensorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSensorType::IfcSensorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShadingDevice -bool IfcShadingDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum IfcShadingDevice::PredefinedType() const { return IfcShadingDeviceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcShadingDevice::setPredefinedType(IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcShadingDeviceTypeEnum::ToString(v)); } +boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > IfcShadingDevice::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcShadingDeviceTypeEnum::FromString(*arg); } } +void IfcShadingDevice::PredefinedType(boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcShadingDeviceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcShadingDevice::is(Type::Enum v) const { return v == Type::IfcShadingDevice || IfcBuildingElement::is(v); } Type::Enum IfcShadingDevice::type() const { return Type::IfcShadingDevice; } Type::Enum IfcShadingDevice::Class() { return Type::IfcShadingDevice; } IfcShadingDevice::IfcShadingDevice(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShadingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcShadingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcShadingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShadingDeviceType IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum IfcShadingDeviceType::PredefinedType() const { return IfcShadingDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcShadingDeviceType::setPredefinedType(IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcShadingDeviceTypeEnum::ToString(v)); } +void IfcShadingDeviceType::PredefinedType(IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcShadingDeviceTypeEnum::ToString(v));; } bool IfcShadingDeviceType::is(Type::Enum v) const { return v == Type::IfcShadingDeviceType || IfcBuildingElementType::is(v); } Type::Enum IfcShadingDeviceType::type() const { return Type::IfcShadingDeviceType; } Type::Enum IfcShadingDeviceType::Class() { return Type::IfcShadingDeviceType; } IfcShadingDeviceType::IfcShadingDeviceType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShadingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeAspect IfcTemplatedEntityList< IfcShapeModel >::ptr IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcShapeAspect::hasName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcShapeAspect::Name() const { return *entity->getArgument(1); } -void IfcShapeAspect::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcShapeAspect::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcShapeAspect::Description() const { return *entity->getArgument(2); } -void IfcShapeAspect::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcShapeAspect::ShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } +boost::optional< std::string > IfcShapeAspect::Name() const { return *entity->getArgument(1); } +void IfcShapeAspect::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcShapeAspect::Description() const { return *entity->getArgument(2); } +void IfcShapeAspect::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcShapeAspect::ProductDefinitional() const { return *entity->getArgument(3); } -void IfcShapeAspect::setProductDefinitional(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcShapeAspect::hasPartOfProductDefinitionShape() const { return !entity->getArgument(4)->isNull(); } -IfcProductRepresentationSelect* IfcShapeAspect::PartOfProductDefinitionShape() const { return (IfcProductRepresentationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcShapeAspect::setPartOfProductDefinitionShape(IfcProductRepresentationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcShapeAspect::ProductDefinitional(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< IfcProductRepresentationSelect* > IfcShapeAspect::PartOfProductDefinitionShape() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcProductRepresentationSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcShapeAspect::PartOfProductDefinitionShape(boost::optional< IfcProductRepresentationSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcShapeAspect::is(Type::Enum v) const { return v == Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::type() const { return Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::Class() { return Type::IfcShapeAspect; } IfcShapeAspect::IfcShapeAspect(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); e->setArgument(4,(v5_PartOfProductDefinitionShape)); entity = e; EntityBuffer::Add(this); } +IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect* > v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); if (v5_PartOfProductDefinitionShape) { e->setArgument(4,(*v5_PartOfProductDefinitionShape)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeModel IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return entity->getInverse(Type::IfcShapeAspect, 0)->as(); } @@ -14781,7 +14216,7 @@ IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_Cont // Function implementations for IfcShellBasedSurfaceModel IfcEntityList::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { return *entity->getArgument(0); } -void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcShellBasedSurfaceModel::SbsmBoundary(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcShellBasedSurfaceModel::is(Type::Enum v) const { return v == Type::IfcShellBasedSurfaceModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcShellBasedSurfaceModel::type() const { return Type::IfcShellBasedSurfaceModel; } Type::Enum IfcShellBasedSurfaceModel::Class() { return Type::IfcShellBasedSurfaceModel; } @@ -14796,101 +14231,84 @@ IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbs IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSimplePropertyTemplate -bool IfcSimplePropertyTemplate::hasTemplateType() const { return !entity->getArgument(4)->isNull(); } -IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum IfcSimplePropertyTemplate::TemplateType() const { return IfcSimplePropertyTemplateTypeEnum::FromString(*entity->getArgument(4)); } -void IfcSimplePropertyTemplate::setTemplateType(IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcSimplePropertyTemplateTypeEnum::ToString(v)); } -bool IfcSimplePropertyTemplate::hasPrimaryMeasureType() const { return !entity->getArgument(5)->isNull(); } -std::string IfcSimplePropertyTemplate::PrimaryMeasureType() const { return *entity->getArgument(5); } -void IfcSimplePropertyTemplate::setPrimaryMeasureType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSimplePropertyTemplate::hasSecondaryMeasureType() const { return !entity->getArgument(6)->isNull(); } -std::string IfcSimplePropertyTemplate::SecondaryMeasureType() const { return *entity->getArgument(6); } -void IfcSimplePropertyTemplate::setSecondaryMeasureType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSimplePropertyTemplate::hasEnumerators() const { return !entity->getArgument(7)->isNull(); } -IfcPropertyEnumeration* IfcSimplePropertyTemplate::Enumerators() const { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcSimplePropertyTemplate::setEnumerators(IfcPropertyEnumeration* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcSimplePropertyTemplate::hasPrimaryUnit() const { return !entity->getArgument(8)->isNull(); } -IfcUnit* IfcSimplePropertyTemplate::PrimaryUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcSimplePropertyTemplate::setPrimaryUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcSimplePropertyTemplate::hasSecondaryUnit() const { return !entity->getArgument(9)->isNull(); } -IfcUnit* IfcSimplePropertyTemplate::SecondaryUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcSimplePropertyTemplate::setSecondaryUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSimplePropertyTemplate::hasExpression() const { return !entity->getArgument(10)->isNull(); } -std::string IfcSimplePropertyTemplate::Expression() const { return *entity->getArgument(10); } -void IfcSimplePropertyTemplate::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSimplePropertyTemplate::hasAccessState() const { return !entity->getArgument(11)->isNull(); } -IfcStateEnum::IfcStateEnum IfcSimplePropertyTemplate::AccessState() const { return IfcStateEnum::FromString(*entity->getArgument(11)); } -void IfcSimplePropertyTemplate::setAccessState(IfcStateEnum::IfcStateEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcStateEnum::ToString(v)); } +boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > IfcSimplePropertyTemplate::TemplateType() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return IfcSimplePropertyTemplateTypeEnum::FromString(*arg); } } +void IfcSimplePropertyTemplate::TemplateType(boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v,IfcSimplePropertyTemplateTypeEnum::ToString(*v));; } else { w->setArgument(4); } } +boost::optional< std::string > IfcSimplePropertyTemplate::PrimaryMeasureType() const { return *entity->getArgument(5); } +void IfcSimplePropertyTemplate::PrimaryMeasureType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcSimplePropertyTemplate::SecondaryMeasureType() const { return *entity->getArgument(6); } +void IfcSimplePropertyTemplate::SecondaryMeasureType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcPropertyEnumeration* > IfcSimplePropertyTemplate::Enumerators() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSimplePropertyTemplate::Enumerators(boost::optional< IfcPropertyEnumeration* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcUnit* > IfcSimplePropertyTemplate::PrimaryUnit() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSimplePropertyTemplate::PrimaryUnit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< IfcUnit* > IfcSimplePropertyTemplate::SecondaryUnit() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSimplePropertyTemplate::SecondaryUnit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcSimplePropertyTemplate::Expression() const { return *entity->getArgument(10); } +void IfcSimplePropertyTemplate::Expression(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcStateEnum::IfcStateEnum > IfcSimplePropertyTemplate::AccessState() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return IfcStateEnum::FromString(*arg); } } +void IfcSimplePropertyTemplate::AccessState(boost::optional< IfcStateEnum::IfcStateEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v,IfcStateEnum::ToString(*v));; } else { w->setArgument(11); } } bool IfcSimplePropertyTemplate::is(Type::Enum v) const { return v == Type::IfcSimplePropertyTemplate || IfcPropertyTemplate::is(v); } Type::Enum IfcSimplePropertyTemplate::type() const { return Type::IfcSimplePropertyTemplate; } Type::Enum IfcSimplePropertyTemplate::Class() { return Type::IfcSimplePropertyTemplate; } IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimplePropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, IfcUnit* v9_PrimaryUnit, IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_PrimaryMeasureType) { e->setArgument(5,(*v6_PrimaryMeasureType)); } else { e->setArgument(5); } if (v7_SecondaryMeasureType) { e->setArgument(6,(*v7_SecondaryMeasureType)); } else { e->setArgument(6); } e->setArgument(7,(v8_Enumerators)); e->setArgument(8,(v9_PrimaryUnit)); e->setArgument(9,(v10_SecondaryUnit)); if (v11_Expression) { e->setArgument(10,(*v11_Expression)); } else { e->setArgument(10); } if (v12_AccessState) { e->setArgument(11,*v12_AccessState,IfcStateEnum::ToString(*v12_AccessState)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, boost::optional< IfcPropertyEnumeration* > v8_Enumerators, boost::optional< IfcUnit* > v9_PrimaryUnit, boost::optional< IfcUnit* > v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_PrimaryMeasureType) { e->setArgument(5,(*v6_PrimaryMeasureType)); } else { e->setArgument(5); } if (v7_SecondaryMeasureType) { e->setArgument(6,(*v7_SecondaryMeasureType)); } else { e->setArgument(6); } if (v8_Enumerators) { e->setArgument(7,(*v8_Enumerators)); } else { e->setArgument(7); } if (v9_PrimaryUnit) { e->setArgument(8,(*v9_PrimaryUnit)); } else { e->setArgument(8); } if (v10_SecondaryUnit) { e->setArgument(9,(*v10_SecondaryUnit)); } else { e->setArgument(9); } if (v11_Expression) { e->setArgument(10,(*v11_Expression)); } else { e->setArgument(10); } if (v12_AccessState) { e->setArgument(11,*v12_AccessState,IfcStateEnum::ToString(*v12_AccessState)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSite -bool IfcSite::hasRefLatitude() const { return !entity->getArgument(9)->isNull(); } -std::vector< int > /*[3:4]*/ IfcSite::RefLatitude() const { return *entity->getArgument(9); } -void IfcSite::setRefLatitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSite::hasRefLongitude() const { return !entity->getArgument(10)->isNull(); } -std::vector< int > /*[3:4]*/ IfcSite::RefLongitude() const { return *entity->getArgument(10); } -void IfcSite::setRefLongitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSite::hasRefElevation() const { return !entity->getArgument(11)->isNull(); } -double IfcSite::RefElevation() const { return *entity->getArgument(11); } -void IfcSite::setRefElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcSite::hasLandTitleNumber() const { return !entity->getArgument(12)->isNull(); } -std::string IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } -void IfcSite::setLandTitleNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcSite::hasSiteAddress() const { return !entity->getArgument(13)->isNull(); } -IfcPostalAddress* IfcSite::SiteAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } -void IfcSite::setSiteAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +boost::optional< std::vector< int > /*[3:4]*/ > IfcSite::RefLatitude() const { return *entity->getArgument(9); } +void IfcSite::RefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::vector< int > /*[3:4]*/ > IfcSite::RefLongitude() const { return *entity->getArgument(10); } +void IfcSite::RefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcSite::RefElevation() const { return *entity->getArgument(11); } +void IfcSite::RefElevation(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } +void IfcSite::LandTitleNumber(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< IfcPostalAddress* > IfcSite::SiteAddress() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSite::SiteAddress(boost::optional< IfcPostalAddress* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } bool IfcSite::is(Type::Enum v) const { return v == Type::IfcSite || IfcSpatialStructureElement::is(v); } Type::Enum IfcSite::type() const { return Type::IfcSite; } Type::Enum IfcSite::Class() { return Type::IfcSite; } IfcSite::IfcSite(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSite::IfcSite(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } +IfcSite::IfcSite(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, boost::optional< IfcPostalAddress* > v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } if (v14_SiteAddress) { e->setArgument(13,(*v14_SiteAddress)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlab -bool IfcSlab::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlab::PredefinedType() const { return IfcSlabTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSlab::setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSlabTypeEnum::ToString(v)); } +boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > IfcSlab::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSlabTypeEnum::FromString(*arg); } } +void IfcSlab::PredefinedType(boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSlabTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSlab::is(Type::Enum v) const { return v == Type::IfcSlab || IfcBuildingElement::is(v); } Type::Enum IfcSlab::type() const { return Type::IfcSlab; } Type::Enum IfcSlab::Class() { return Type::IfcSlab; } IfcSlab::IfcSlab(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlab::IfcSlab(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlab::IfcSlab(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabElementedCase bool IfcSlabElementedCase::is(Type::Enum v) const { return v == Type::IfcSlabElementedCase || IfcSlab::is(v); } Type::Enum IfcSlabElementedCase::type() const { return Type::IfcSlabElementedCase; } Type::Enum IfcSlabElementedCase::Class() { return Type::IfcSlabElementedCase; } IfcSlabElementedCase::IfcSlabElementedCase(IfcAbstractEntity* e) : IfcSlab((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabStandardCase bool IfcSlabStandardCase::is(Type::Enum v) const { return v == Type::IfcSlabStandardCase || IfcSlab::is(v); } Type::Enum IfcSlabStandardCase::type() const { return Type::IfcSlabStandardCase; } Type::Enum IfcSlabStandardCase::Class() { return Type::IfcSlabStandardCase; } IfcSlabStandardCase::IfcSlabStandardCase(IfcAbstractEntity* e) : IfcSlab((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabType IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabType::PredefinedType() const { return IfcSlabTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSlabType::setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSlabTypeEnum::ToString(v)); } +void IfcSlabType::PredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSlabTypeEnum::ToString(v));; } bool IfcSlabType::is(Type::Enum v) const { return v == Type::IfcSlabType || IfcBuildingElementType::is(v); } Type::Enum IfcSlabType::type() const { return Type::IfcSlabType; } Type::Enum IfcSlabType::Class() { return Type::IfcSlabType; } IfcSlabType::IfcSlabType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabType::IfcSlabType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSlabType::IfcSlabType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlippageConnectionCondition -bool IfcSlippageConnectionCondition::hasSlippageX() const { return !entity->getArgument(1)->isNull(); } -double IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } -void IfcSlippageConnectionCondition::setSlippageX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSlippageConnectionCondition::hasSlippageY() const { return !entity->getArgument(2)->isNull(); } -double IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } -void IfcSlippageConnectionCondition::setSlippageY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSlippageConnectionCondition::hasSlippageZ() const { return !entity->getArgument(3)->isNull(); } -double IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } -void IfcSlippageConnectionCondition::setSlippageZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } +void IfcSlippageConnectionCondition::SlippageX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } +void IfcSlippageConnectionCondition::SlippageY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } +void IfcSlippageConnectionCondition::SlippageZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcSlippageConnectionCondition::is(Type::Enum v) const { return v == Type::IfcSlippageConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcSlippageConnectionCondition::type() const { return Type::IfcSlippageConnectionCondition; } Type::Enum IfcSlippageConnectionCondition::Class() { return Type::IfcSlippageConnectionCondition; } @@ -14898,23 +14316,22 @@ IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntity IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolarDevice -bool IfcSolarDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum IfcSolarDevice::PredefinedType() const { return IfcSolarDeviceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSolarDevice::setPredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSolarDeviceTypeEnum::ToString(v)); } +boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > IfcSolarDevice::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSolarDeviceTypeEnum::FromString(*arg); } } +void IfcSolarDevice::PredefinedType(boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSolarDeviceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSolarDevice::is(Type::Enum v) const { return v == Type::IfcSolarDevice || IfcEnergyConversionDevice::is(v); } Type::Enum IfcSolarDevice::type() const { return Type::IfcSolarDevice; } Type::Enum IfcSolarDevice::Class() { return Type::IfcSolarDevice; } IfcSolarDevice::IfcSolarDevice(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolarDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSolarDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSolarDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolarDeviceType IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum IfcSolarDeviceType::PredefinedType() const { return IfcSolarDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSolarDeviceType::setPredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSolarDeviceTypeEnum::ToString(v)); } +void IfcSolarDeviceType::PredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSolarDeviceTypeEnum::ToString(v));; } bool IfcSolarDeviceType::is(Type::Enum v) const { return v == Type::IfcSolarDeviceType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcSolarDeviceType::type() const { return Type::IfcSolarDeviceType; } Type::Enum IfcSolarDeviceType::Class() { return Type::IfcSolarDeviceType; } IfcSolarDeviceType::IfcSolarDeviceType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolarDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolidModel bool IfcSolidModel::is(Type::Enum v) const { return v == Type::IfcSolidModel || IfcGeometricRepresentationItem::is(v); } @@ -14924,55 +14341,50 @@ IfcSolidModel::IfcSolidModel(IfcAbstractEntity* e) : IfcGeometricRepresentationI IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpace -bool IfcSpace::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } -IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpace::PredefinedType() const { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSpace::setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceTypeEnum::ToString(v)); } -bool IfcSpace::hasElevationWithFlooring() const { return !entity->getArgument(10)->isNull(); } -double IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } -void IfcSpace::setElevationWithFlooring(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > IfcSpace::PredefinedType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcSpaceTypeEnum::FromString(*arg); } } +void IfcSpace::PredefinedType(boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcSpaceTypeEnum::ToString(*v));; } else { w->setArgument(9); } } +boost::optional< double > IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } +void IfcSpace::ElevationWithFlooring(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversSpaces, 4)->as(); } IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary, 4)->as(); } bool IfcSpace::is(Type::Enum v) const { return v == Type::IfcSpace || IfcSpatialStructureElement::is(v); } Type::Enum IfcSpace::type() const { return Type::IfcSpace; } Type::Enum IfcSpace::Class() { return Type::IfcSpace; } IfcSpace::IfcSpace(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpace::IfcSpace(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSpaceTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpace::IfcSpace(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSpaceTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeater -bool IfcSpaceHeater::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeater::PredefinedType() const { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSpaceHeater::setPredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSpaceHeaterTypeEnum::ToString(v)); } +boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > IfcSpaceHeater::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSpaceHeaterTypeEnum::FromString(*arg); } } +void IfcSpaceHeater::PredefinedType(boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSpaceHeaterTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSpaceHeater::is(Type::Enum v) const { return v == Type::IfcSpaceHeater || IfcFlowTerminal::is(v); } Type::Enum IfcSpaceHeater::type() const { return Type::IfcSpaceHeater; } Type::Enum IfcSpaceHeater::Class() { return Type::IfcSpaceHeater; } IfcSpaceHeater::IfcSpaceHeater(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeater)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeaterType IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterType::PredefinedType() const { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSpaceHeaterType::setPredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceHeaterTypeEnum::ToString(v)); } +void IfcSpaceHeaterType::PredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSpaceHeaterTypeEnum::ToString(v));; } bool IfcSpaceHeaterType::is(Type::Enum v) const { return v == Type::IfcSpaceHeaterType || IfcFlowTerminalType::is(v); } Type::Enum IfcSpaceHeaterType::type() const { return Type::IfcSpaceHeaterType; } Type::Enum IfcSpaceHeaterType::Class() { return Type::IfcSpaceHeaterType; } IfcSpaceHeaterType::IfcSpaceHeaterType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceType IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceType::PredefinedType() const { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSpaceType::setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceTypeEnum::ToString(v)); } -bool IfcSpaceType::hasLongName() const { return !entity->getArgument(10)->isNull(); } -std::string IfcSpaceType::LongName() const { return *entity->getArgument(10); } -void IfcSpaceType::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcSpaceType::PredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSpaceTypeEnum::ToString(v));; } +boost::optional< std::string > IfcSpaceType::LongName() const { return *entity->getArgument(10); } +void IfcSpaceType::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcSpaceType::is(Type::Enum v) const { return v == Type::IfcSpaceType || IfcSpatialStructureElementType::is(v); } Type::Enum IfcSpaceType::type() const { return Type::IfcSpaceType; } Type::Enum IfcSpaceType::Class() { return Type::IfcSpaceType; } IfcSpaceType::IfcSpaceType(IfcAbstractEntity* e) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialElement -bool IfcSpatialElement::hasLongName() const { return !entity->getArgument(7)->isNull(); } -std::string IfcSpatialElement::LongName() const { return *entity->getArgument(7); } -void IfcSpatialElement::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< std::string > IfcSpatialElement::LongName() const { return *entity->getArgument(7); } +void IfcSpatialElement::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcRelContainedInSpatialStructure::list::ptr IfcSpatialElement::ContainsElements() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 5)->as(); } IfcRelServicesBuildings::list::ptr IfcSpatialElement::ServicedBySystems() const { return entity->getInverse(Type::IfcRelServicesBuildings, 5)->as(); } IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialElement::ReferencesElements() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure, 5)->as(); } @@ -14980,60 +14392,56 @@ bool IfcSpatialElement::is(Type::Enum v) const { return v == Type::IfcSpatialEle Type::Enum IfcSpatialElement::type() const { return Type::IfcSpatialElement; } Type::Enum IfcSpatialElement::Class() { return Type::IfcSpatialElement; } IfcSpatialElement::IfcSpatialElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialElementType -bool IfcSpatialElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcSpatialElementType::ElementType() const { return *entity->getArgument(8); } -void IfcSpatialElementType::setElementType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcSpatialElementType::ElementType() const { return *entity->getArgument(8); } +void IfcSpatialElementType::ElementType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcSpatialElementType::is(Type::Enum v) const { return v == Type::IfcSpatialElementType || IfcTypeProduct::is(v); } Type::Enum IfcSpatialElementType::type() const { return Type::IfcSpatialElementType; } Type::Enum IfcSpatialElementType::Class() { return Type::IfcSpatialElementType; } IfcSpatialElementType::IfcSpatialElementType(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElement -bool IfcSpatialStructureElement::hasCompositionType() const { return !entity->getArgument(8)->isNull(); } -IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() const { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } -void IfcSpatialStructureElement::setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElementCompositionEnum::ToString(v)); } +boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > IfcSpatialStructureElement::CompositionType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcElementCompositionEnum::FromString(*arg); } } +void IfcSpatialStructureElement::CompositionType(boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcElementCompositionEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElement || IfcSpatialElement::is(v); } Type::Enum IfcSpatialStructureElement::type() const { return Type::IfcSpatialStructureElement; } Type::Enum IfcSpatialStructureElement::Class() { return Type::IfcSpatialStructureElement; } IfcSpatialStructureElement::IfcSpatialStructureElement(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElementType bool IfcSpatialStructureElementType::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElementType || IfcSpatialElementType::is(v); } Type::Enum IfcSpatialStructureElementType::type() const { return Type::IfcSpatialStructureElementType; } Type::Enum IfcSpatialStructureElementType::Class() { return Type::IfcSpatialStructureElementType; } IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcAbstractEntity* e) : IfcSpatialElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialZone -bool IfcSpatialZone::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum IfcSpatialZone::PredefinedType() const { return IfcSpatialZoneTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSpatialZone::setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSpatialZoneTypeEnum::ToString(v)); } +boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > IfcSpatialZone::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSpatialZoneTypeEnum::FromString(*arg); } } +void IfcSpatialZone::PredefinedType(boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSpatialZoneTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSpatialZone::is(Type::Enum v) const { return v == Type::IfcSpatialZone || IfcSpatialElement::is(v); } Type::Enum IfcSpatialZone::type() const { return Type::IfcSpatialZone; } Type::Enum IfcSpatialZone::Class() { return Type::IfcSpatialZone; } IfcSpatialZone::IfcSpatialZone(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpatialZoneTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpatialZoneTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialZoneType IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum IfcSpatialZoneType::PredefinedType() const { return IfcSpatialZoneTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSpatialZoneType::setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpatialZoneTypeEnum::ToString(v)); } -bool IfcSpatialZoneType::hasLongName() const { return !entity->getArgument(10)->isNull(); } -std::string IfcSpatialZoneType::LongName() const { return *entity->getArgument(10); } -void IfcSpatialZoneType::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcSpatialZoneType::PredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSpatialZoneTypeEnum::ToString(v));; } +boost::optional< std::string > IfcSpatialZoneType::LongName() const { return *entity->getArgument(10); } +void IfcSpatialZoneType::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcSpatialZoneType::is(Type::Enum v) const { return v == Type::IfcSpatialZoneType || IfcSpatialElementType::is(v); } Type::Enum IfcSpatialZoneType::type() const { return Type::IfcSpatialZoneType; } Type::Enum IfcSpatialZoneType::Class() { return Type::IfcSpatialZoneType; } IfcSpatialZoneType::IfcSpatialZoneType(IfcAbstractEntity* e) : IfcSpatialElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialZoneType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSphere double IfcSphere::Radius() const { return *entity->getArgument(1); } -void IfcSphere::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSphere::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcSphere::is(Type::Enum v) const { return v == Type::IfcSphere || IfcCsgPrimitive3D::is(v); } Type::Enum IfcSphere::type() const { return Type::IfcSphere; } Type::Enum IfcSphere::Class() { return Type::IfcSphere; } @@ -15041,132 +14449,118 @@ IfcSphere::IfcSphere(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntit IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminal -bool IfcStackTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminal::PredefinedType() const { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(8)); } -void IfcStackTerminal::setPredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcStackTerminalTypeEnum::ToString(v)); } +boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > IfcStackTerminal::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcStackTerminalTypeEnum::FromString(*arg); } } +void IfcStackTerminal::PredefinedType(boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcStackTerminalTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcStackTerminal::is(Type::Enum v) const { return v == Type::IfcStackTerminal || IfcFlowTerminal::is(v); } Type::Enum IfcStackTerminal::type() const { return Type::IfcStackTerminal; } Type::Enum IfcStackTerminal::Class() { return Type::IfcStackTerminal; } IfcStackTerminal::IfcStackTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStackTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStackTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminalType IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalType::PredefinedType() const { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStackTerminalType::setPredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStackTerminalTypeEnum::ToString(v)); } +void IfcStackTerminalType::PredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStackTerminalTypeEnum::ToString(v));; } bool IfcStackTerminalType::is(Type::Enum v) const { return v == Type::IfcStackTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcStackTerminalType::type() const { return Type::IfcStackTerminalType; } Type::Enum IfcStackTerminalType::Class() { return Type::IfcStackTerminalType; } IfcStackTerminalType::IfcStackTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStair -bool IfcStair::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcStairTypeEnum::IfcStairTypeEnum IfcStair::PredefinedType() const { return IfcStairTypeEnum::FromString(*entity->getArgument(8)); } -void IfcStair::setPredefinedType(IfcStairTypeEnum::IfcStairTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcStairTypeEnum::ToString(v)); } +boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > IfcStair::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcStairTypeEnum::FromString(*arg); } } +void IfcStair::PredefinedType(boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcStairTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcStair::is(Type::Enum v) const { return v == Type::IfcStair || IfcBuildingElement::is(v); } Type::Enum IfcStair::type() const { return Type::IfcStair; } Type::Enum IfcStair::Class() { return Type::IfcStair; } IfcStair::IfcStair(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStair::IfcStair(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight -bool IfcStairFlight::hasNumberOfRiser() const { return !entity->getArgument(8)->isNull(); } -int IfcStairFlight::NumberOfRiser() const { return *entity->getArgument(8); } -void IfcStairFlight::setNumberOfRiser(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStairFlight::hasNumberOfTreads() const { return !entity->getArgument(9)->isNull(); } -int IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } -void IfcStairFlight::setNumberOfTreads(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcStairFlight::hasRiserHeight() const { return !entity->getArgument(10)->isNull(); } -double IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } -void IfcStairFlight::setRiserHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcStairFlight::hasTreadLength() const { return !entity->getArgument(11)->isNull(); } -double IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } -void IfcStairFlight::setTreadLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcStairFlight::hasPredefinedType() const { return !entity->getArgument(12)->isNull(); } -IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlight::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(12)); } -void IfcStairFlight::setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcStairFlightTypeEnum::ToString(v)); } +boost::optional< int > IfcStairFlight::NumberOfRiser() const { return *entity->getArgument(8); } +void IfcStairFlight::NumberOfRiser(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< int > IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } +void IfcStairFlight::NumberOfTreads(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } +void IfcStairFlight::RiserHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } +void IfcStairFlight::TreadLength(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > IfcStairFlight::PredefinedType() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return IfcStairFlightTypeEnum::FromString(*arg); } } +void IfcStairFlight::PredefinedType(boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v,IfcStairFlightTypeEnum::ToString(*v));; } else { w->setArgument(12); } } bool IfcStairFlight::is(Type::Enum v) const { return v == Type::IfcStairFlight || IfcBuildingElement::is(v); } Type::Enum IfcStairFlight::type() const { return Type::IfcStairFlight; } Type::Enum IfcStairFlight::Class() { return Type::IfcStairFlight; } IfcStairFlight::IfcStairFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStairFlightType::setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStairFlightTypeEnum::ToString(v)); } +void IfcStairFlightType::PredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStairFlightTypeEnum::ToString(v));; } bool IfcStairFlightType::is(Type::Enum v) const { return v == Type::IfcStairFlightType || IfcBuildingElementType::is(v); } Type::Enum IfcStairFlightType::type() const { return Type::IfcStairFlightType; } Type::Enum IfcStairFlightType::Class() { return Type::IfcStairFlightType; } IfcStairFlightType::IfcStairFlightType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairType IfcStairTypeEnum::IfcStairTypeEnum IfcStairType::PredefinedType() const { return IfcStairTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStairType::setPredefinedType(IfcStairTypeEnum::IfcStairTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStairTypeEnum::ToString(v)); } +void IfcStairType::PredefinedType(IfcStairTypeEnum::IfcStairTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStairTypeEnum::ToString(v));; } bool IfcStairType::is(Type::Enum v) const { return v == Type::IfcStairType || IfcBuildingElementType::is(v); } Type::Enum IfcStairType::type() const { return Type::IfcStairType; } Type::Enum IfcStairType::Class() { return Type::IfcStairType; } IfcStairType::IfcStairType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairType::IfcStairType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStairType::IfcStairType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAction -bool IfcStructuralAction::hasDestabilizingLoad() const { return !entity->getArgument(9)->isNull(); } -bool IfcStructuralAction::DestabilizingLoad() const { return *entity->getArgument(9); } -void IfcStructuralAction::setDestabilizingLoad(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +boost::optional< bool > IfcStructuralAction::DestabilizingLoad() const { return *entity->getArgument(9); } +void IfcStructuralAction::DestabilizingLoad(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcStructuralAction::is(Type::Enum v) const { return v == Type::IfcStructuralAction || IfcStructuralActivity::is(v); } Type::Enum IfcStructuralAction::type() const { return Type::IfcStructuralAction; } Type::Enum IfcStructuralAction::Class() { return Type::IfcStructuralAction; } IfcStructuralAction::IfcStructuralAction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralActivity IfcStructuralLoad* IfcStructuralActivity::AppliedLoad() const { return (IfcStructuralLoad*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcStructuralActivity::setAppliedLoad(IfcStructuralLoad* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcStructuralActivity::AppliedLoad(IfcStructuralLoad* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcStructuralActivity::GlobalOrLocal() const { return IfcGlobalOrLocalEnum::FromString(*entity->getArgument(8)); } -void IfcStructuralActivity::setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGlobalOrLocalEnum::ToString(v)); } +void IfcStructuralActivity::GlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcGlobalOrLocalEnum::ToString(v));; } IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity, 5)->as(); } bool IfcStructuralActivity::is(Type::Enum v) const { return v == Type::IfcStructuralActivity || IfcProduct::is(v); } Type::Enum IfcStructuralActivity::type() const { return Type::IfcStructuralActivity; } Type::Enum IfcStructuralActivity::Class() { return Type::IfcStructuralActivity; } IfcStructuralActivity::IfcStructuralActivity(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAnalysisModel IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::PredefinedType() const { return IfcAnalysisModelTypeEnum::FromString(*entity->getArgument(5)); } -void IfcStructuralAnalysisModel::setPredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcAnalysisModelTypeEnum::ToString(v)); } -bool IfcStructuralAnalysisModel::hasOrientationOf2DPlane() const { return !entity->getArgument(6)->isNull(); } -IfcAxis2Placement3D* IfcStructuralAnalysisModel::OrientationOf2DPlane() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcStructuralAnalysisModel::setOrientationOf2DPlane(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcStructuralAnalysisModel::hasLoadedBy() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr IfcStructuralAnalysisModel::LoadedBy() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcStructuralAnalysisModel::setLoadedBy(IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcStructuralAnalysisModel::hasHasResults() const { return !entity->getArgument(8)->isNull(); } -IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr IfcStructuralAnalysisModel::HasResults() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } -void IfcStructuralAnalysisModel::setHasResults(IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcStructuralAnalysisModel::hasSharedPlacement() const { return !entity->getArgument(9)->isNull(); } -IfcObjectPlacement* IfcStructuralAnalysisModel::SharedPlacement() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } -void IfcStructuralAnalysisModel::setSharedPlacement(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcStructuralAnalysisModel::PredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcAnalysisModelTypeEnum::ToString(v));; } +boost::optional< IfcAxis2Placement3D* > IfcStructuralAnalysisModel::OrientationOf2DPlane() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralAnalysisModel::OrientationOf2DPlane(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > IfcStructuralAnalysisModel::LoadedBy() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcStructuralAnalysisModel::LoadedBy(boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > IfcStructuralAnalysisModel::HasResults() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcStructuralAnalysisModel::HasResults(boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,(*v)->generalize());; } else { w->setArgument(8); } } +boost::optional< IfcObjectPlacement* > IfcStructuralAnalysisModel::SharedPlacement() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralAnalysisModel::SharedPlacement(boost::optional< IfcObjectPlacement* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcStructuralAnalysisModel::is(Type::Enum v) const { return v == Type::IfcStructuralAnalysisModel || IfcSystem::is(v); } Type::Enum IfcStructuralAnalysisModel::type() const { return Type::IfcStructuralAnalysisModel; } Type::Enum IfcStructuralAnalysisModel::Class() { return Type::IfcStructuralAnalysisModel; } IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_SharedPlacement)); entity = e; EntityBuffer::Add(this); } +IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, boost::optional< IfcAxis2Placement3D* > v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, boost::optional< IfcObjectPlacement* > v10_SharedPlacement) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); if (v7_OrientationOf2DPlane) { e->setArgument(6,(*v7_OrientationOf2DPlane)); } else { e->setArgument(6); } if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } if (v10_SharedPlacement) { e->setArgument(9,(*v10_SharedPlacement)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnection -bool IfcStructuralConnection::hasAppliedCondition() const { return !entity->getArgument(7)->isNull(); } -IfcBoundaryCondition* IfcStructuralConnection::AppliedCondition() const { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcStructuralConnection::setAppliedCondition(IfcBoundaryCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< IfcBoundaryCondition* > IfcStructuralConnection::AppliedCondition() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcBoundaryCondition*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralConnection::AppliedCondition(boost::optional< IfcBoundaryCondition* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember, 5)->as(); } bool IfcStructuralConnection::is(Type::Enum v) const { return v == Type::IfcStructuralConnection || IfcStructuralItem::is(v); } Type::Enum IfcStructuralConnection::type() const { return Type::IfcStructuralConnection; } Type::Enum IfcStructuralConnection::Class() { return Type::IfcStructuralConnection; } IfcStructuralConnection::IfcStructuralConnection(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnectionCondition -bool IfcStructuralConnectionCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } -void IfcStructuralConnectionCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } +void IfcStructuralConnectionCondition::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcStructuralConnectionCondition::is(Type::Enum v) const { return v == Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::type() const { return Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::Class() { return Type::IfcStructuralConnectionCondition; } @@ -15174,52 +14568,51 @@ IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEn IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveAction -bool IfcStructuralCurveAction::hasProjectedOrTrue() const { return !entity->getArgument(10)->isNull(); } -IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralCurveAction::ProjectedOrTrue() const { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(10)); } -void IfcStructuralCurveAction::setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcProjectedOrTrueLengthEnum::ToString(v)); } +boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > IfcStructuralCurveAction::ProjectedOrTrue() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcProjectedOrTrueLengthEnum::FromString(*arg); } } +void IfcStructuralCurveAction::ProjectedOrTrue(boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcProjectedOrTrueLengthEnum::ToString(*v));; } else { w->setArgument(10); } } IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum IfcStructuralCurveAction::PredefinedType() const { return IfcStructuralCurveActivityTypeEnum::FromString(*entity->getArgument(11)); } -void IfcStructuralCurveAction::setPredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcStructuralCurveActivityTypeEnum::ToString(v)); } +void IfcStructuralCurveAction::PredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcStructuralCurveActivityTypeEnum::ToString(v));; } bool IfcStructuralCurveAction::is(Type::Enum v) const { return v == Type::IfcStructuralCurveAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralCurveAction::type() const { return Type::IfcStructuralCurveAction; } Type::Enum IfcStructuralCurveAction::Class() { return Type::IfcStructuralCurveAction; } IfcStructuralCurveAction::IfcStructuralCurveAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveConnection IfcDirection* IfcStructuralCurveConnection::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcStructuralCurveConnection::setAxis(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcStructuralCurveConnection::Axis(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcStructuralCurveConnection::is(Type::Enum v) const { return v == Type::IfcStructuralCurveConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralCurveConnection::type() const { return Type::IfcStructuralCurveConnection; } Type::Enum IfcStructuralCurveConnection::Class() { return Type::IfcStructuralCurveConnection; } IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition, IfcDirection* v9_Axis) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMember IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum IfcStructuralCurveMember::PredefinedType() const { return IfcStructuralCurveMemberTypeEnum::FromString(*entity->getArgument(7)); } -void IfcStructuralCurveMember::setPredefinedType(IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcStructuralCurveMemberTypeEnum::ToString(v)); } +void IfcStructuralCurveMember::PredefinedType(IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcStructuralCurveMemberTypeEnum::ToString(v));; } IfcDirection* IfcStructuralCurveMember::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcStructuralCurveMember::setAxis(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcStructuralCurveMember::Axis(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v); } bool IfcStructuralCurveMember::is(Type::Enum v) const { return v == Type::IfcStructuralCurveMember || IfcStructuralMember::is(v); } Type::Enum IfcStructuralCurveMember::type() const { return Type::IfcStructuralCurveMember; } Type::Enum IfcStructuralCurveMember::Class() { return Type::IfcStructuralCurveMember; } IfcStructuralCurveMember::IfcStructuralCurveMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMemberVarying bool IfcStructuralCurveMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralCurveMemberVarying || IfcStructuralCurveMember::is(v); } Type::Enum IfcStructuralCurveMemberVarying::type() const { return Type::IfcStructuralCurveMemberVarying; } Type::Enum IfcStructuralCurveMemberVarying::Class() { return Type::IfcStructuralCurveMemberVarying; } IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcAbstractEntity* e) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveReaction IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum IfcStructuralCurveReaction::PredefinedType() const { return IfcStructuralCurveActivityTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStructuralCurveReaction::setPredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStructuralCurveActivityTypeEnum::ToString(v)); } +void IfcStructuralCurveReaction::PredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStructuralCurveActivityTypeEnum::ToString(v));; } bool IfcStructuralCurveReaction::is(Type::Enum v) const { return v == Type::IfcStructuralCurveReaction || IfcStructuralReaction::is(v); } Type::Enum IfcStructuralCurveReaction::type() const { return Type::IfcStructuralCurveReaction; } Type::Enum IfcStructuralCurveReaction::Class() { return Type::IfcStructuralCurveReaction; } IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralItem IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity, 4)->as(); } @@ -15227,19 +14620,18 @@ bool IfcStructuralItem::is(Type::Enum v) const { return v == Type::IfcStructural Type::Enum IfcStructuralItem::type() const { return Type::IfcStructuralItem; } Type::Enum IfcStructuralItem::Class() { return Type::IfcStructuralItem; } IfcStructuralItem::IfcStructuralItem(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearAction bool IfcStructuralLinearAction::is(Type::Enum v) const { return v == Type::IfcStructuralLinearAction || IfcStructuralCurveAction::is(v); } Type::Enum IfcStructuralLinearAction::type() const { return Type::IfcStructuralLinearAction; } Type::Enum IfcStructuralLinearAction::Class() { return Type::IfcStructuralLinearAction; } IfcStructuralLinearAction::IfcStructuralLinearAction(IfcAbstractEntity* e) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoad -bool IfcStructuralLoad::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcStructuralLoad::Name() const { return *entity->getArgument(0); } -void IfcStructuralLoad::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< std::string > IfcStructuralLoad::Name() const { return *entity->getArgument(0); } +void IfcStructuralLoad::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } bool IfcStructuralLoad::is(Type::Enum v) const { return v == Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::type() const { return Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::Class() { return Type::IfcStructuralLoad; } @@ -15247,18 +14639,17 @@ IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntity* e) : IfcUtil::IfcBaseEnt IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadCase -bool IfcStructuralLoadCase::hasSelfWeightCoefficients() const { return !entity->getArgument(10)->isNull(); } -std::vector< double > /*[3:3]*/ IfcStructuralLoadCase::SelfWeightCoefficients() const { return *entity->getArgument(10); } -void IfcStructuralLoadCase::setSelfWeightCoefficients(std::vector< double > /*[3:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +boost::optional< std::vector< double > /*[3:3]*/ > IfcStructuralLoadCase::SelfWeightCoefficients() const { return *entity->getArgument(10); } +void IfcStructuralLoadCase::SelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcStructuralLoadCase::is(Type::Enum v) const { return v == Type::IfcStructuralLoadCase || IfcStructuralLoadGroup::is(v); } Type::Enum IfcStructuralLoadCase::type() const { return Type::IfcStructuralLoadCase; } Type::Enum IfcStructuralLoadCase::Class() { return Type::IfcStructuralLoadCase; } IfcStructuralLoadCase::IfcStructuralLoadCase(IfcAbstractEntity* e) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } if (v11_SelfWeightCoefficients) { e->setArgument(10,(*v11_SelfWeightCoefficients)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } if (v11_SelfWeightCoefficients) { e->setArgument(10,(*v11_SelfWeightCoefficients)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadConfiguration IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr IfcStructuralLoadConfiguration::Values() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcStructuralLoadConfiguration::setValues(IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcStructuralLoadConfiguration::Values(IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } bool IfcStructuralLoadConfiguration::is(Type::Enum v) const { return v == Type::IfcStructuralLoadConfiguration || IfcStructuralLoad::is(v); } Type::Enum IfcStructuralLoadConfiguration::type() const { return Type::IfcStructuralLoadConfiguration; } Type::Enum IfcStructuralLoadConfiguration::Class() { return Type::IfcStructuralLoadConfiguration; } @@ -15267,44 +14658,36 @@ IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< // Function implementations for IfcStructuralLoadGroup IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcStructuralLoadGroup::PredefinedType() const { return IfcLoadGroupTypeEnum::FromString(*entity->getArgument(5)); } -void IfcStructuralLoadGroup::setPredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcLoadGroupTypeEnum::ToString(v)); } +void IfcStructuralLoadGroup::PredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcLoadGroupTypeEnum::ToString(v));; } IfcActionTypeEnum::IfcActionTypeEnum IfcStructuralLoadGroup::ActionType() const { return IfcActionTypeEnum::FromString(*entity->getArgument(6)); } -void IfcStructuralLoadGroup::setActionType(IfcActionTypeEnum::IfcActionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcActionTypeEnum::ToString(v)); } +void IfcStructuralLoadGroup::ActionType(IfcActionTypeEnum::IfcActionTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v,IfcActionTypeEnum::ToString(v));; } IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcStructuralLoadGroup::ActionSource() const { return IfcActionSourceTypeEnum::FromString(*entity->getArgument(7)); } -void IfcStructuralLoadGroup::setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcActionSourceTypeEnum::ToString(v)); } -bool IfcStructuralLoadGroup::hasCoefficient() const { return !entity->getArgument(8)->isNull(); } -double IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } -void IfcStructuralLoadGroup::setCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStructuralLoadGroup::hasPurpose() const { return !entity->getArgument(9)->isNull(); } -std::string IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } -void IfcStructuralLoadGroup::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcStructuralLoadGroup::ActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcActionSourceTypeEnum::ToString(v));; } +boost::optional< double > IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } +void IfcStructuralLoadGroup::Coefficient(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } +void IfcStructuralLoadGroup::Purpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return entity->getInverse(Type::IfcStructuralResultGroup, 6)->as(); } IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel, 7)->as(); } bool IfcStructuralLoadGroup::is(Type::Enum v) const { return v == Type::IfcStructuralLoadGroup || IfcGroup::is(v); } Type::Enum IfcStructuralLoadGroup::type() const { return Type::IfcStructuralLoadGroup; } Type::Enum IfcStructuralLoadGroup::Class() { return Type::IfcStructuralLoadGroup; } IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadLinearForce -bool IfcStructuralLoadLinearForce::hasLinearForceX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadLinearForce::setLinearForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadLinearForce::setLinearForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadLinearForce::setLinearForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !entity->getArgument(4)->isNull(); } -double IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadLinearForce::setLinearMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !entity->getArgument(5)->isNull(); } -double IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadLinearForce::setLinearMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !entity->getArgument(6)->isNull(); } -double IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadLinearForce::setLinearMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadLinearForce::LinearForceX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadLinearForce::LinearForceY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadLinearForce::LinearForceZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadLinearForce::LinearMomentX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadLinearForce::LinearMomentY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadLinearForce::LinearMomentZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralLoadLinearForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadLinearForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadLinearForce::type() const { return Type::IfcStructuralLoadLinearForce; } Type::Enum IfcStructuralLoadLinearForce::Class() { return Type::IfcStructuralLoadLinearForce; } @@ -15319,15 +14702,12 @@ IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcAbstractEntity* e) : Ifc IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadPlanarForce -bool IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadPlanarForce::setPlanarForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadPlanarForce::setPlanarForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadPlanarForce::setPlanarForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadPlanarForce::PlanarForceX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadPlanarForce::PlanarForceY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadPlanarForce::PlanarForceZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcStructuralLoadPlanarForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadPlanarForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadPlanarForce::type() const { return Type::IfcStructuralLoadPlanarForce; } Type::Enum IfcStructuralLoadPlanarForce::Class() { return Type::IfcStructuralLoadPlanarForce; } @@ -15335,24 +14715,18 @@ IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntity* e) IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacement -bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleDisplacement::setDisplacementX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleDisplacement::setDisplacementY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleDisplacement::setDisplacementZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !entity->getArgument(4)->isNull(); } -double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !entity->getArgument(5)->isNull(); } -double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !entity->getArgument(6)->isNull(); } -double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleDisplacement::DisplacementX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleDisplacement::DisplacementY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleDisplacement::DisplacementZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralLoadSingleDisplacement::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacement || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleDisplacement::type() const { return Type::IfcStructuralLoadSingleDisplacement; } Type::Enum IfcStructuralLoadSingleDisplacement::Class() { return Type::IfcStructuralLoadSingleDisplacement; } @@ -15360,9 +14734,8 @@ IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbst IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !entity->getArgument(7)->isNull(); } -double IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleDisplacementDistortion::Distortion(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcStructuralLoadSingleDisplacementDistortion::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacementDistortion || IfcStructuralLoadSingleDisplacement::is(v); } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::type() const { return Type::IfcStructuralLoadSingleDisplacementDistortion; } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::Class() { return Type::IfcStructuralLoadSingleDisplacementDistortion; } @@ -15370,24 +14743,18 @@ IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplaceme IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForce -bool IfcStructuralLoadSingleForce::hasForceX() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleForce::setForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleForce::hasForceY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleForce::setForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleForce::hasForceZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleForce::setForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleForce::hasMomentX() const { return !entity->getArgument(4)->isNull(); } -double IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleForce::setMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleForce::hasMomentY() const { return !entity->getArgument(5)->isNull(); } -double IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleForce::setMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleForce::hasMomentZ() const { return !entity->getArgument(6)->isNull(); } -double IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleForce::setMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< double > IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleForce::ForceX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleForce::ForceY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleForce::ForceZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleForce::MomentX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleForce::MomentY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleForce::MomentZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralLoadSingleForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleForce::type() const { return Type::IfcStructuralLoadSingleForce; } Type::Enum IfcStructuralLoadSingleForce::Class() { return Type::IfcStructuralLoadSingleForce; } @@ -15395,9 +14762,8 @@ IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntity* e) IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForceWarping -bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !entity->getArgument(7)->isNull(); } -double IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleForceWarping::setWarpingMoment(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleForceWarping::WarpingMoment(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } bool IfcStructuralLoadSingleForceWarping::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForceWarping || IfcStructuralLoadSingleForce::is(v); } Type::Enum IfcStructuralLoadSingleForceWarping::type() const { return Type::IfcStructuralLoadSingleForceWarping; } Type::Enum IfcStructuralLoadSingleForceWarping::Class() { return Type::IfcStructuralLoadSingleForceWarping; } @@ -15412,15 +14778,12 @@ IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntity* e) : IfcStru IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadTemperature -bool IfcStructuralLoadTemperature::hasDeltaTConstant() const { return !entity->getArgument(1)->isNull(); } -double IfcStructuralLoadTemperature::DeltaTConstant() const { return *entity->getArgument(1); } -void IfcStructuralLoadTemperature::setDeltaTConstant(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadTemperature::hasDeltaTY() const { return !entity->getArgument(2)->isNull(); } -double IfcStructuralLoadTemperature::DeltaTY() const { return *entity->getArgument(2); } -void IfcStructuralLoadTemperature::setDeltaTY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadTemperature::hasDeltaTZ() const { return !entity->getArgument(3)->isNull(); } -double IfcStructuralLoadTemperature::DeltaTZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadTemperature::setDeltaTZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< double > IfcStructuralLoadTemperature::DeltaTConstant() const { return *entity->getArgument(1); } +void IfcStructuralLoadTemperature::DeltaTConstant(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< double > IfcStructuralLoadTemperature::DeltaTY() const { return *entity->getArgument(2); } +void IfcStructuralLoadTemperature::DeltaTY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcStructuralLoadTemperature::DeltaTZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadTemperature::DeltaTZ(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcStructuralLoadTemperature::is(Type::Enum v) const { return v == Type::IfcStructuralLoadTemperature || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadTemperature::type() const { return Type::IfcStructuralLoadTemperature; } Type::Enum IfcStructuralLoadTemperature::Class() { return Type::IfcStructuralLoadTemperature; } @@ -15433,107 +14796,103 @@ bool IfcStructuralMember::is(Type::Enum v) const { return v == Type::IfcStructur Type::Enum IfcStructuralMember::type() const { return Type::IfcStructuralMember; } Type::Enum IfcStructuralMember::Class() { return Type::IfcStructuralMember; } IfcStructuralMember::IfcStructuralMember(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarAction bool IfcStructuralPlanarAction::is(Type::Enum v) const { return v == Type::IfcStructuralPlanarAction || IfcStructuralSurfaceAction::is(v); } Type::Enum IfcStructuralPlanarAction::type() const { return Type::IfcStructuralPlanarAction; } Type::Enum IfcStructuralPlanarAction::Class() { return Type::IfcStructuralPlanarAction; } IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcAbstractEntity* e) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointAction bool IfcStructuralPointAction::is(Type::Enum v) const { return v == Type::IfcStructuralPointAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralPointAction::type() const { return Type::IfcStructuralPointAction; } Type::Enum IfcStructuralPointAction::Class() { return Type::IfcStructuralPointAction; } IfcStructuralPointAction::IfcStructuralPointAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointConnection -bool IfcStructuralPointConnection::hasConditionCoordinateSystem() const { return !entity->getArgument(8)->isNull(); } -IfcAxis2Placement3D* IfcStructuralPointConnection::ConditionCoordinateSystem() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcStructuralPointConnection::setConditionCoordinateSystem(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< IfcAxis2Placement3D* > IfcStructuralPointConnection::ConditionCoordinateSystem() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralPointConnection::ConditionCoordinateSystem(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcStructuralPointConnection::is(Type::Enum v) const { return v == Type::IfcStructuralPointConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralPointConnection::type() const { return Type::IfcStructuralPointConnection; } Type::Enum IfcStructuralPointConnection::Class() { return Type::IfcStructuralPointConnection; } IfcStructuralPointConnection::IfcStructuralPointConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition, boost::optional< IfcAxis2Placement3D* > v9_ConditionCoordinateSystem) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } if (v9_ConditionCoordinateSystem) { e->setArgument(8,(*v9_ConditionCoordinateSystem)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointReaction bool IfcStructuralPointReaction::is(Type::Enum v) const { return v == Type::IfcStructuralPointReaction || IfcStructuralReaction::is(v); } Type::Enum IfcStructuralPointReaction::type() const { return Type::IfcStructuralPointReaction; } Type::Enum IfcStructuralPointReaction::Class() { return Type::IfcStructuralPointReaction; } IfcStructuralPointReaction::IfcStructuralPointReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralReaction bool IfcStructuralReaction::is(Type::Enum v) const { return v == Type::IfcStructuralReaction || IfcStructuralActivity::is(v); } Type::Enum IfcStructuralReaction::type() const { return Type::IfcStructuralReaction; } Type::Enum IfcStructuralReaction::Class() { return Type::IfcStructuralReaction; } IfcStructuralReaction::IfcStructuralReaction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralResultGroup IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcStructuralResultGroup::TheoryType() const { return IfcAnalysisTheoryTypeEnum::FromString(*entity->getArgument(5)); } -void IfcStructuralResultGroup::setTheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcAnalysisTheoryTypeEnum::ToString(v)); } -bool IfcStructuralResultGroup::hasResultForLoadGroup() const { return !entity->getArgument(6)->isNull(); } -IfcStructuralLoadGroup* IfcStructuralResultGroup::ResultForLoadGroup() const { return (IfcStructuralLoadGroup*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcStructuralResultGroup::setResultForLoadGroup(IfcStructuralLoadGroup* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcStructuralResultGroup::TheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcAnalysisTheoryTypeEnum::ToString(v));; } +boost::optional< IfcStructuralLoadGroup* > IfcStructuralResultGroup::ResultForLoadGroup() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcStructuralLoadGroup*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStructuralResultGroup::ResultForLoadGroup(boost::optional< IfcStructuralLoadGroup* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcStructuralResultGroup::IsLinear() const { return *entity->getArgument(7); } -void IfcStructuralResultGroup::setIsLinear(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcStructuralResultGroup::IsLinear(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v); } IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel, 8)->as(); } bool IfcStructuralResultGroup::is(Type::Enum v) const { return v == Type::IfcStructuralResultGroup || IfcGroup::is(v); } Type::Enum IfcStructuralResultGroup::type() const { return Type::IfcStructuralResultGroup; } Type::Enum IfcStructuralResultGroup::Class() { return Type::IfcStructuralResultGroup; } IfcStructuralResultGroup::IfcStructuralResultGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } +IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, boost::optional< IfcStructuralLoadGroup* > v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); if (v7_ResultForLoadGroup) { e->setArgument(6,(*v7_ResultForLoadGroup)); } else { e->setArgument(6); } e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceAction -bool IfcStructuralSurfaceAction::hasProjectedOrTrue() const { return !entity->getArgument(10)->isNull(); } -IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralSurfaceAction::ProjectedOrTrue() const { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(10)); } -void IfcStructuralSurfaceAction::setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcProjectedOrTrueLengthEnum::ToString(v)); } +boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > IfcStructuralSurfaceAction::ProjectedOrTrue() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcProjectedOrTrueLengthEnum::FromString(*arg); } } +void IfcStructuralSurfaceAction::ProjectedOrTrue(boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcProjectedOrTrueLengthEnum::ToString(*v));; } else { w->setArgument(10); } } IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum IfcStructuralSurfaceAction::PredefinedType() const { return IfcStructuralSurfaceActivityTypeEnum::FromString(*entity->getArgument(11)); } -void IfcStructuralSurfaceAction::setPredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcStructuralSurfaceActivityTypeEnum::ToString(v)); } +void IfcStructuralSurfaceAction::PredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcStructuralSurfaceActivityTypeEnum::ToString(v));; } bool IfcStructuralSurfaceAction::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralSurfaceAction::type() const { return Type::IfcStructuralSurfaceAction; } Type::Enum IfcStructuralSurfaceAction::Class() { return Type::IfcStructuralSurfaceAction; } IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceConnection bool IfcStructuralSurfaceConnection::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralSurfaceConnection::type() const { return Type::IfcStructuralSurfaceConnection; } Type::Enum IfcStructuralSurfaceConnection::Class() { return Type::IfcStructuralSurfaceConnection; } IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_AppliedCondition) { e->setArgument(7,(*v8_AppliedCondition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMember IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum IfcStructuralSurfaceMember::PredefinedType() const { return IfcStructuralSurfaceMemberTypeEnum::FromString(*entity->getArgument(7)); } -void IfcStructuralSurfaceMember::setPredefinedType(IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcStructuralSurfaceMemberTypeEnum::ToString(v)); } -bool IfcStructuralSurfaceMember::hasThickness() const { return !entity->getArgument(8)->isNull(); } -double IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } -void IfcStructuralSurfaceMember::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcStructuralSurfaceMember::PredefinedType(IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(7,v,IfcStructuralSurfaceMemberTypeEnum::ToString(v));; } +boost::optional< double > IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } +void IfcStructuralSurfaceMember::Thickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcStructuralSurfaceMember::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMember || IfcStructuralMember::is(v); } Type::Enum IfcStructuralSurfaceMember::type() const { return Type::IfcStructuralSurfaceMember; } Type::Enum IfcStructuralSurfaceMember::Class() { return Type::IfcStructuralSurfaceMember; } IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMemberVarying bool IfcStructuralSurfaceMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMemberVarying || IfcStructuralSurfaceMember::is(v); } Type::Enum IfcStructuralSurfaceMemberVarying::type() const { return Type::IfcStructuralSurfaceMemberVarying; } Type::Enum IfcStructuralSurfaceMemberVarying::Class() { return Type::IfcStructuralSurfaceMemberVarying; } IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcAbstractEntity* e) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceReaction IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum IfcStructuralSurfaceReaction::PredefinedType() const { return IfcStructuralSurfaceActivityTypeEnum::FromString(*entity->getArgument(9)); } -void IfcStructuralSurfaceReaction::setPredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcStructuralSurfaceActivityTypeEnum::ToString(v)); } +void IfcStructuralSurfaceReaction::PredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcStructuralSurfaceActivityTypeEnum::ToString(v));; } bool IfcStructuralSurfaceReaction::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceReaction || IfcStructuralReaction::is(v); } Type::Enum IfcStructuralSurfaceReaction::type() const { return Type::IfcStructuralSurfaceReaction; } Type::Enum IfcStructuralSurfaceReaction::Class() { return Type::IfcStructuralSurfaceReaction; } IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyleModel bool IfcStyleModel::is(Type::Enum v) const { return v == Type::IfcStyleModel || IfcRepresentation::is(v); } @@ -15543,19 +14902,17 @@ IfcStyleModel::IfcStyleModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstr IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledItem -bool IfcStyledItem::hasItem() const { return !entity->getArgument(0)->isNull(); } -IfcRepresentationItem* IfcStyledItem::Item() const { return (IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcStyledItem::setItem(IfcRepresentationItem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +boost::optional< IfcRepresentationItem* > IfcStyledItem::Item() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcStyledItem::Item(boost::optional< IfcRepresentationItem* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } IfcEntityList::ptr IfcStyledItem::Styles() const { return *entity->getArgument(1); } -void IfcStyledItem::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStyledItem::hasName() const { return !entity->getArgument(2)->isNull(); } -std::string IfcStyledItem::Name() const { return *entity->getArgument(2); } -void IfcStyledItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcStyledItem::Styles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcStyledItem::Name() const { return *entity->getArgument(2); } +void IfcStyledItem::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcStyledItem::is(Type::Enum v) const { return v == Type::IfcStyledItem || IfcRepresentationItem::is(v); } Type::Enum IfcStyledItem::type() const { return Type::IfcStyledItem; } Type::Enum IfcStyledItem::Class() { return Type::IfcStyledItem; } IfcStyledItem::IfcStyledItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcStyledItem::IfcStyledItem(boost::optional< IfcRepresentationItem* > v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Item) { e->setArgument(0,(*v1_Item)); } else { e->setArgument(0); } e->setArgument(1,(v2_Styles)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledRepresentation bool IfcStyledRepresentation::is(Type::Enum v) const { return v == Type::IfcStyledRepresentation || IfcStyleModel::is(v); } @@ -15565,27 +14922,26 @@ IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntity* e) : IfcStyl IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResource -bool IfcSubContractResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum IfcSubContractResource::PredefinedType() const { return IfcSubContractResourceTypeEnum::FromString(*entity->getArgument(10)); } -void IfcSubContractResource::setPredefinedType(IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcSubContractResourceTypeEnum::ToString(v)); } +boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > IfcSubContractResource::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcSubContractResourceTypeEnum::FromString(*arg); } } +void IfcSubContractResource::PredefinedType(boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcSubContractResourceTypeEnum::ToString(*v));; } else { w->setArgument(10); } } bool IfcSubContractResource::is(Type::Enum v) const { return v == Type::IfcSubContractResource || IfcConstructionResource::is(v); } Type::Enum IfcSubContractResource::type() const { return Type::IfcSubContractResource; } Type::Enum IfcSubContractResource::Class() { return Type::IfcSubContractResource; } IfcSubContractResource::IfcSubContractResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Usage) { e->setArgument(7,(*v8_Usage)); } else { e->setArgument(7); } if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } if (v10_BaseQuantity) { e->setArgument(9,(*v10_BaseQuantity)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResourceType IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum IfcSubContractResourceType::PredefinedType() const { return IfcSubContractResourceTypeEnum::FromString(*entity->getArgument(11)); } -void IfcSubContractResourceType::setPredefinedType(IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcSubContractResourceTypeEnum::ToString(v)); } +void IfcSubContractResourceType::PredefinedType(IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v,IfcSubContractResourceTypeEnum::ToString(v));; } bool IfcSubContractResourceType::is(Type::Enum v) const { return v == Type::IfcSubContractResourceType || IfcConstructionResourceType::is(v); } Type::Enum IfcSubContractResourceType::type() const { return Type::IfcSubContractResourceType; } Type::Enum IfcSubContractResourceType::Class() { return Type::IfcSubContractResourceType; } IfcSubContractResourceType::IfcSubContractResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } if (v11_BaseQuantity) { e->setArgument(10,(*v11_BaseQuantity)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubedge IfcEdge* IfcSubedge::ParentEdge() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSubedge::setParentEdge(IfcEdge* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSubedge::ParentEdge(IfcEdge* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcSubedge::is(Type::Enum v) const { return v == Type::IfcSubedge || IfcEdge::is(v); } Type::Enum IfcSubedge::type() const { return Type::IfcSubedge; } Type::Enum IfcSubedge::Class() { return Type::IfcSubedge; } @@ -15601,61 +14957,55 @@ IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) // Function implementations for IfcSurfaceCurveSweptAreaSolid IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceCurveSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceCurveSweptAreaSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } -double IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSurfaceCurveSweptAreaSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceCurveSweptAreaSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } -double IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSurfaceCurveSweptAreaSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSurfaceCurveSweptAreaSolid::Directrix(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } +boost::optional< double > IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } +void IfcSurfaceCurveSweptAreaSolid::StartParam(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } +void IfcSurfaceCurveSweptAreaSolid::EndParam(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcSurfaceCurveSweptAreaSolid::ReferenceSurface(IfcSurface* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcSurfaceCurveSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSurfaceCurveSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcSurfaceCurveSweptAreaSolid::type() const { return Type::IfcSurfaceCurveSweptAreaSolid; } Type::Enum IfcSurfaceCurveSweptAreaSolid::Class() { return Type::IfcSurfaceCurveSweptAreaSolid; } IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceFeature -bool IfcSurfaceFeature::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum IfcSurfaceFeature::PredefinedType() const { return IfcSurfaceFeatureTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSurfaceFeature::setPredefinedType(IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSurfaceFeatureTypeEnum::ToString(v)); } +boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > IfcSurfaceFeature::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSurfaceFeatureTypeEnum::FromString(*arg); } } +void IfcSurfaceFeature::PredefinedType(boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSurfaceFeatureTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSurfaceFeature::is(Type::Enum v) const { return v == Type::IfcSurfaceFeature || IfcFeatureElement::is(v); } Type::Enum IfcSurfaceFeature::type() const { return Type::IfcSurfaceFeature; } Type::Enum IfcSurfaceFeature::Class() { return Type::IfcSurfaceFeature; } IfcSurfaceFeature::IfcSurfaceFeature(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfLinearExtrusion IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceOfLinearExtrusion::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceOfLinearExtrusion::ExtrudedDirection(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } double IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } -void IfcSurfaceOfLinearExtrusion::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSurfaceOfLinearExtrusion::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcSurfaceOfLinearExtrusion::is(Type::Enum v) const { return v == Type::IfcSurfaceOfLinearExtrusion || IfcSweptSurface::is(v); } Type::Enum IfcSurfaceOfLinearExtrusion::type() const { return Type::IfcSurfaceOfLinearExtrusion; } Type::Enum IfcSurfaceOfLinearExtrusion::Class() { return Type::IfcSurfaceOfLinearExtrusion; } IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcAbstractEntity* e) : IfcSweptSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfRevolution IfcAxis1Placement* IfcSurfaceOfRevolution::AxisPosition() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceOfRevolution::setAxisPosition(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceOfRevolution::AxisPosition(IfcAxis1Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcSurfaceOfRevolution::is(Type::Enum v) const { return v == Type::IfcSurfaceOfRevolution || IfcSweptSurface::is(v); } Type::Enum IfcSurfaceOfRevolution::type() const { return Type::IfcSurfaceOfRevolution; } Type::Enum IfcSurfaceOfRevolution::Class() { return Type::IfcSurfaceOfRevolution; } IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcAbstractEntity* e) : IfcSweptSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfRevolution)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_AxisPosition)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcProfileDef* v1_SweptCurve, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } e->setArgument(2,(v3_AxisPosition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceReinforcementArea -bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement1() const { return !entity->getArgument(1)->isNull(); } -std::vector< double > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { return *entity->getArgument(1); } -void IfcSurfaceReinforcementArea::setSurfaceReinforcement1(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement2() const { return !entity->getArgument(2)->isNull(); } -std::vector< double > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { return *entity->getArgument(2); } -void IfcSurfaceReinforcementArea::setSurfaceReinforcement2(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceReinforcementArea::hasShearReinforcement() const { return !entity->getArgument(3)->isNull(); } -double IfcSurfaceReinforcementArea::ShearReinforcement() const { return *entity->getArgument(3); } -void IfcSurfaceReinforcementArea::setShearReinforcement(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +boost::optional< std::vector< double > /*[2:3]*/ > IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { return *entity->getArgument(1); } +void IfcSurfaceReinforcementArea::SurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::vector< double > /*[2:3]*/ > IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { return *entity->getArgument(2); } +void IfcSurfaceReinforcementArea::SurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcSurfaceReinforcementArea::ShearReinforcement() const { return *entity->getArgument(3); } +void IfcSurfaceReinforcementArea::ShearReinforcement(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } bool IfcSurfaceReinforcementArea::is(Type::Enum v) const { return v == Type::IfcSurfaceReinforcementArea || IfcStructuralLoadOrResult::is(v); } Type::Enum IfcSurfaceReinforcementArea::type() const { return Type::IfcSurfaceReinforcementArea; } Type::Enum IfcSurfaceReinforcementArea::Class() { return Type::IfcSurfaceReinforcementArea; } @@ -15664,9 +15014,9 @@ IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< std::s // Function implementations for IfcSurfaceStyle IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() const { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } -void IfcSurfaceStyle::setSide(IfcSurfaceSide::IfcSurfaceSide v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcSurfaceSide::ToString(v)); } +void IfcSurfaceStyle::Side(IfcSurfaceSide::IfcSurfaceSide v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v,IfcSurfaceSide::ToString(v));; } IfcEntityList::ptr IfcSurfaceStyle::Styles() const { return *entity->getArgument(2); } -void IfcSurfaceStyle::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceStyle::Styles(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcSurfaceStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSurfaceStyle::type() const { return Type::IfcSurfaceStyle; } Type::Enum IfcSurfaceStyle::Class() { return Type::IfcSurfaceStyle; } @@ -15675,13 +15025,13 @@ IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, IfcSurf // Function implementations for IfcSurfaceStyleLighting IfcColourRgb* IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSurfaceStyleLighting::setDiffuseTransmissionColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSurfaceStyleLighting::DiffuseTransmissionColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcColourRgb* IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSurfaceStyleLighting::setDiffuseReflectionColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSurfaceStyleLighting::DiffuseReflectionColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcColourRgb* IfcSurfaceStyleLighting::TransmissionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceStyleLighting::setTransmissionColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcSurfaceStyleLighting::TransmissionColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } IfcColourRgb* IfcSurfaceStyleLighting::ReflectanceColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcSurfaceStyleLighting::setReflectanceColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcSurfaceStyleLighting::ReflectanceColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } bool IfcSurfaceStyleLighting::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleLighting || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceStyleLighting::type() const { return Type::IfcSurfaceStyleLighting; } Type::Enum IfcSurfaceStyleLighting::Class() { return Type::IfcSurfaceStyleLighting; } @@ -15689,12 +15039,10 @@ IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcAbstractEntity* e) : IfcPres IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcColourRgb* v1_DiffuseTransmissionColour, IfcColourRgb* v2_DiffuseReflectionColour, IfcColourRgb* v3_TransmissionColour, IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DiffuseTransmissionColour)); e->setArgument(1,(v2_DiffuseReflectionColour)); e->setArgument(2,(v3_TransmissionColour)); e->setArgument(3,(v4_ReflectanceColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRefraction -bool IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !entity->getArgument(0)->isNull(); } -double IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } -void IfcSurfaceStyleRefraction::setRefractionIndex(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !entity->getArgument(1)->isNull(); } -double IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRefraction::setDispersionFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< double > IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } +void IfcSurfaceStyleRefraction::RefractionIndex(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< double > IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRefraction::DispersionFactor(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcSurfaceStyleRefraction::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRefraction || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceStyleRefraction::type() const { return Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::Class() { return Type::IfcSurfaceStyleRefraction; } @@ -15702,38 +15050,31 @@ IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntity* e) : Ifc IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRendering -bool IfcSurfaceStyleRendering::hasTransparency() const { return !entity->getArgument(1)->isNull(); } -double IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRendering::setTransparency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceStyleRendering::hasDiffuseColour() const { return !entity->getArgument(2)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceStyleRendering::hasTransmissionColour() const { return !entity->getArgument(3)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::TransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !entity->getArgument(4)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcSurfaceStyleRendering::hasReflectionColour() const { return !entity->getArgument(5)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::ReflectionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSurfaceStyleRendering::hasSpecularColour() const { return !entity->getArgument(6)->isNull(); } -IfcColourOrFactor* IfcSurfaceStyleRendering::SpecularColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !entity->getArgument(7)->isNull(); } -IfcSpecularHighlightSelect* IfcSurfaceStyleRendering::SpecularHighlight() const { return (IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< double > IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRendering::Transparency(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::DiffuseColour() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::DiffuseColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::TransmissionColour() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::TransmissionColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::DiffuseTransmissionColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::ReflectionColour() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::ReflectionColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcColourOrFactor* > IfcSurfaceStyleRendering::SpecularColour() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::SpecularColour(boost::optional< IfcColourOrFactor* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcSpecularHighlightSelect* > IfcSurfaceStyleRendering::SpecularHighlight() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceStyleRendering::SpecularHighlight(boost::optional< IfcSpecularHighlightSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() const { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } -void IfcSurfaceStyleRendering::setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v)); } +void IfcSurfaceStyleRendering::ReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v));; } bool IfcSurfaceStyleRendering::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRendering || IfcSurfaceStyleShading::is(v); } Type::Enum IfcSurfaceStyleRendering::type() const { return Type::IfcSurfaceStyleRendering; } Type::Enum IfcSurfaceStyleRendering::Class() { return Type::IfcSurfaceStyleRendering; } IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntity* e) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } e->setArgument(2,(v3_DiffuseColour)); e->setArgument(3,(v4_TransmissionColour)); e->setArgument(4,(v5_DiffuseTransmissionColour)); e->setArgument(5,(v6_ReflectionColour)); e->setArgument(6,(v7_SpecularColour)); e->setArgument(7,(v8_SpecularHighlight)); e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, boost::optional< IfcColourOrFactor* > v3_DiffuseColour, boost::optional< IfcColourOrFactor* > v4_TransmissionColour, boost::optional< IfcColourOrFactor* > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor* > v6_ReflectionColour, boost::optional< IfcColourOrFactor* > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect* > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleShading IfcColourRgb* IfcSurfaceStyleShading::SurfaceColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSurfaceStyleShading::setSurfaceColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSurfaceStyleShading::SurfaceColour(IfcColourRgb* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcSurfaceStyleShading::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleShading || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceStyleShading::type() const { return Type::IfcSurfaceStyleShading; } Type::Enum IfcSurfaceStyleShading::Class() { return Type::IfcSurfaceStyleShading; } @@ -15742,7 +15083,7 @@ IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcColourRgb* v1_SurfaceColour) : // Function implementations for IfcSurfaceStyleWithTextures IfcTemplatedEntityList< IfcSurfaceTexture >::ptr IfcSurfaceStyleWithTextures::Textures() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcSurfaceStyleWithTextures::setTextures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcSurfaceStyleWithTextures::Textures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcSurfaceStyleWithTextures::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleWithTextures || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceStyleWithTextures::type() const { return Type::IfcSurfaceStyleWithTextures; } Type::Enum IfcSurfaceStyleWithTextures::Class() { return Type::IfcSurfaceStyleWithTextures; } @@ -15751,52 +15092,45 @@ IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcTemplatedEntityList< // Function implementations for IfcSurfaceTexture bool IfcSurfaceTexture::RepeatS() const { return *entity->getArgument(0); } -void IfcSurfaceTexture::setRepeatS(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSurfaceTexture::RepeatS(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcSurfaceTexture::RepeatT() const { return *entity->getArgument(1); } -void IfcSurfaceTexture::setRepeatT(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceTexture::hasMode() const { return !entity->getArgument(2)->isNull(); } -std::string IfcSurfaceTexture::Mode() const { return *entity->getArgument(2); } -void IfcSurfaceTexture::setMode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceTexture::hasTextureTransform() const { return !entity->getArgument(3)->isNull(); } -IfcCartesianTransformationOperator2D* IfcSurfaceTexture::TextureTransform() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcSurfaceTexture::setTextureTransform(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceTexture::hasParameter() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcSurfaceTexture::Parameter() const { return *entity->getArgument(4); } -void IfcSurfaceTexture::setParameter(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSurfaceTexture::RepeatT(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcSurfaceTexture::Mode() const { return *entity->getArgument(2); } +void IfcSurfaceTexture::Mode(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcCartesianTransformationOperator2D* > IfcSurfaceTexture::TextureTransform() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSurfaceTexture::TextureTransform(boost::optional< IfcCartesianTransformationOperator2D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcSurfaceTexture::Parameter() const { return *entity->getArgument(4); } +void IfcSurfaceTexture::Parameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcTextureCoordinate::list::ptr IfcSurfaceTexture::IsMappedBy() const { return entity->getInverse(Type::IfcTextureCoordinate, 0)->as(); } IfcSurfaceStyleWithTextures::list::ptr IfcSurfaceTexture::UsedInStyles() const { return entity->getInverse(Type::IfcSurfaceStyleWithTextures, 0)->as(); } bool IfcSurfaceTexture::is(Type::Enum v) const { return v == Type::IfcSurfaceTexture || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceTexture::type() const { return Type::IfcSurfaceTexture; } Type::Enum IfcSurfaceTexture::Class() { return Type::IfcSurfaceTexture; } IfcSurfaceTexture::IfcSurfaceTexture(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } if (v4_TextureTransform) { e->setArgument(3,(*v4_TextureTransform)); } else { e->setArgument(3); } if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptAreaSolid IfcProfileDef* IfcSweptAreaSolid::SweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSweptAreaSolid::setSweptArea(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSweptAreaSolid::hasPosition() const { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement3D* IfcSweptAreaSolid::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSweptAreaSolid::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSweptAreaSolid::SweptArea(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcAxis2Placement3D* > IfcSweptAreaSolid::Position() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSweptAreaSolid::Position(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSweptAreaSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptAreaSolid::type() const { return Type::IfcSweptAreaSolid; } Type::Enum IfcSweptAreaSolid::Class() { return Type::IfcSweptAreaSolid; } IfcSweptAreaSolid::IfcSweptAreaSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptAreaSolid::IfcSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); entity = e; EntityBuffer::Add(this); } +IfcSweptAreaSolid::IfcSweptAreaSolid(IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptDiskSolid IfcCurve* IfcSweptDiskSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSweptDiskSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcSweptDiskSolid::Directrix(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } -void IfcSweptDiskSolid::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSweptDiskSolid::hasInnerRadius() const { return !entity->getArgument(2)->isNull(); } -double IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } -void IfcSweptDiskSolid::setInnerRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSweptDiskSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } -double IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSweptDiskSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSweptDiskSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } -double IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSweptDiskSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcSweptDiskSolid::Radius(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< double > IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } +void IfcSweptDiskSolid::InnerRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< double > IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } +void IfcSweptDiskSolid::StartParam(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< double > IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } +void IfcSweptDiskSolid::EndParam(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcSweptDiskSolid::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptDiskSolid::type() const { return Type::IfcSweptDiskSolid; } Type::Enum IfcSweptDiskSolid::Class() { return Type::IfcSweptDiskSolid; } @@ -15804,9 +15138,8 @@ IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcA IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptDiskSolidPolygonal -bool IfcSweptDiskSolidPolygonal::hasFilletRadius() const { return !entity->getArgument(5)->isNull(); } -double IfcSweptDiskSolidPolygonal::FilletRadius() const { return *entity->getArgument(5); } -void IfcSweptDiskSolidPolygonal::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< double > IfcSweptDiskSolidPolygonal::FilletRadius() const { return *entity->getArgument(5); } +void IfcSweptDiskSolidPolygonal::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcSweptDiskSolidPolygonal::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolidPolygonal || IfcSweptDiskSolid::is(v); } Type::Enum IfcSweptDiskSolidPolygonal::type() const { return Type::IfcSweptDiskSolidPolygonal; } Type::Enum IfcSweptDiskSolidPolygonal::Class() { return Type::IfcSweptDiskSolidPolygonal; } @@ -15815,34 +15148,32 @@ IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcCurve* v1_Directrix, d // Function implementations for IfcSweptSurface IfcProfileDef* IfcSweptSurface::SweptCurve() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcSweptSurface::setSweptCurve(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSweptSurface::hasPosition() const { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement3D* IfcSweptSurface::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcSweptSurface::setPosition(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcSweptSurface::SweptCurve(IfcProfileDef* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcAxis2Placement3D* > IfcSweptSurface::Position() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcSweptSurface::Position(boost::optional< IfcAxis2Placement3D* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcSweptSurface::is(Type::Enum v) const { return v == Type::IfcSweptSurface || IfcSurface::is(v); } Type::Enum IfcSweptSurface::type() const { return Type::IfcSweptSurface; } Type::Enum IfcSweptSurface::Class() { return Type::IfcSweptSurface; } IfcSweptSurface::IfcSweptSurface(IfcAbstractEntity* e) : IfcSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptSurface::IfcSweptSurface(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position) : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); entity = e; EntityBuffer::Add(this); } +IfcSweptSurface::IfcSweptSurface(IfcProfileDef* v1_SweptCurve, boost::optional< IfcAxis2Placement3D* > v2_Position) : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); if (v2_Position) { e->setArgument(1,(*v2_Position)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSwitchingDevice -bool IfcSwitchingDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDevice::PredefinedType() const { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSwitchingDevice::setPredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSwitchingDeviceTypeEnum::ToString(v)); } +boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > IfcSwitchingDevice::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSwitchingDeviceTypeEnum::FromString(*arg); } } +void IfcSwitchingDevice::PredefinedType(boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSwitchingDeviceTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSwitchingDevice::is(Type::Enum v) const { return v == Type::IfcSwitchingDevice || IfcFlowController::is(v); } Type::Enum IfcSwitchingDevice::type() const { return Type::IfcSwitchingDevice; } Type::Enum IfcSwitchingDevice::Class() { return Type::IfcSwitchingDevice; } IfcSwitchingDevice::IfcSwitchingDevice(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSwitchingDeviceType IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDeviceType::PredefinedType() const { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSwitchingDeviceType::setPredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSwitchingDeviceTypeEnum::ToString(v)); } +void IfcSwitchingDeviceType::PredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcSwitchingDeviceTypeEnum::ToString(v));; } bool IfcSwitchingDeviceType::is(Type::Enum v) const { return v == Type::IfcSwitchingDeviceType || IfcFlowControllerType::is(v); } Type::Enum IfcSwitchingDeviceType::type() const { return Type::IfcSwitchingDeviceType; } Type::Enum IfcSwitchingDeviceType::Class() { return Type::IfcSwitchingDeviceType; } IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystem IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return entity->getInverse(Type::IfcRelServicesBuildings, 4)->as(); } @@ -15850,68 +15181,58 @@ bool IfcSystem::is(Type::Enum v) const { return v == Type::IfcSystem || IfcGroup Type::Enum IfcSystem::type() const { return Type::IfcSystem; } Type::Enum IfcSystem::Class() { return Type::IfcSystem; } IfcSystem::IfcSystem(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystem::IfcSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSystem::IfcSystem(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElement -bool IfcSystemFurnitureElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum IfcSystemFurnitureElement::PredefinedType() const { return IfcSystemFurnitureElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcSystemFurnitureElement::setPredefinedType(IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcSystemFurnitureElementTypeEnum::ToString(v)); } +boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > IfcSystemFurnitureElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcSystemFurnitureElementTypeEnum::FromString(*arg); } } +void IfcSystemFurnitureElement::PredefinedType(boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcSystemFurnitureElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcSystemFurnitureElement::is(Type::Enum v) const { return v == Type::IfcSystemFurnitureElement || IfcFurnishingElement::is(v); } Type::Enum IfcSystemFurnitureElement::type() const { return Type::IfcSystemFurnitureElement; } Type::Enum IfcSystemFurnitureElement::Class() { return Type::IfcSystemFurnitureElement; } IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcAbstractEntity* e) : IfcFurnishingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElementType -bool IfcSystemFurnitureElementType::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } -IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum IfcSystemFurnitureElementType::PredefinedType() const { return IfcSystemFurnitureElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcSystemFurnitureElementType::setPredefinedType(IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSystemFurnitureElementTypeEnum::ToString(v)); } +boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > IfcSystemFurnitureElementType::PredefinedType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcSystemFurnitureElementTypeEnum::FromString(*arg); } } +void IfcSystemFurnitureElementType::PredefinedType(boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcSystemFurnitureElementTypeEnum::ToString(*v));; } else { w->setArgument(9); } } bool IfcSystemFurnitureElementType::is(Type::Enum v) const { return v == Type::IfcSystemFurnitureElementType || IfcFurnishingElementType::is(v); } Type::Enum IfcSystemFurnitureElementType::type() const { return Type::IfcSystemFurnitureElementType; } Type::Enum IfcSystemFurnitureElementType::Class() { return Type::IfcSystemFurnitureElementType; } IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTShapeProfileDef double IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcTShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcTShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTShapeProfileDef::FlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcTShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcTShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcTShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcTShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } -void IfcTShapeProfileDef::setFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTShapeProfileDef::hasWebEdgeRadius() const { return !entity->getArgument(9)->isNull(); } -double IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } -void IfcTShapeProfileDef::setWebEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTShapeProfileDef::hasWebSlope() const { return !entity->getArgument(10)->isNull(); } -double IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } -void IfcTShapeProfileDef::setWebSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(11)->isNull(); } -double IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } -void IfcTShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcTShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcTShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } +void IfcTShapeProfileDef::FlangeEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } +void IfcTShapeProfileDef::WebEdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } +void IfcTShapeProfileDef::WebSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } +void IfcTShapeProfileDef::FlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } bool IfcTShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcTShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTShapeProfileDef::type() const { return Type::IfcTShapeProfileDef; } Type::Enum IfcTShapeProfileDef::Class() { return Type::IfcTShapeProfileDef; } IfcTShapeProfileDef::IfcTShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTable -bool IfcTable::hasName() const { return !entity->getArgument(0)->isNull(); } -std::string IfcTable::Name() const { return *entity->getArgument(0); } -void IfcTable::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTable::hasRows() const { return !entity->getArgument(1)->isNull(); } -IfcTemplatedEntityList< IfcTableRow >::ptr IfcTable::Rows() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTable::setRows(IfcTemplatedEntityList< IfcTableRow >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcTable::hasColumns() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcTableColumn >::ptr IfcTable::Columns() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcTable::setColumns(IfcTemplatedEntityList< IfcTableColumn >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +boost::optional< std::string > IfcTable::Name() const { return *entity->getArgument(0); } +void IfcTable::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > IfcTable::Rows() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcTable::Rows(boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,(*v)->generalize());; } else { w->setArgument(1); } } +boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > IfcTable::Columns() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcTable::Columns(boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,(*v)->generalize());; } else { w->setArgument(2); } } bool IfcTable::is(Type::Enum v) const { return v == Type::IfcTable; } Type::Enum IfcTable::type() const { return Type::IfcTable; } Type::Enum IfcTable::Class() { return Type::IfcTable; } @@ -15919,34 +15240,27 @@ IfcTable::IfcTable(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) re IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Rows) { e->setArgument(1,(*v2_Rows)->generalize()); } else { e->setArgument(1); } if (v3_Columns) { e->setArgument(2,(*v3_Columns)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableColumn -bool IfcTableColumn::hasIdentifier() const { return !entity->getArgument(0)->isNull(); } -std::string IfcTableColumn::Identifier() const { return *entity->getArgument(0); } -void IfcTableColumn::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTableColumn::hasName() const { return !entity->getArgument(1)->isNull(); } -std::string IfcTableColumn::Name() const { return *entity->getArgument(1); } -void IfcTableColumn::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTableColumn::hasDescription() const { return !entity->getArgument(2)->isNull(); } -std::string IfcTableColumn::Description() const { return *entity->getArgument(2); } -void IfcTableColumn::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTableColumn::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit* IfcTableColumn::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTableColumn::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTableColumn::hasReferencePath() const { return !entity->getArgument(4)->isNull(); } -IfcReference* IfcTableColumn::ReferencePath() const { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcTableColumn::setReferencePath(IfcReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +boost::optional< std::string > IfcTableColumn::Identifier() const { return *entity->getArgument(0); } +void IfcTableColumn::Identifier(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcTableColumn::Name() const { return *entity->getArgument(1); } +void IfcTableColumn::Name(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcTableColumn::Description() const { return *entity->getArgument(2); } +void IfcTableColumn::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcUnit* > IfcTableColumn::Unit() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTableColumn::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcReference* > IfcTableColumn::ReferencePath() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTableColumn::ReferencePath(boost::optional< IfcReference* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcTableColumn::is(Type::Enum v) const { return v == Type::IfcTableColumn; } Type::Enum IfcTableColumn::type() const { return Type::IfcTableColumn; } Type::Enum IfcTableColumn::Class() { return Type::IfcTableColumn; } IfcTableColumn::IfcTableColumn(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, IfcUnit* v4_Unit, IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Unit)); e->setArgument(4,(v5_ReferencePath)); entity = e; EntityBuffer::Add(this); } +IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcUnit* > v4_Unit, boost::optional< IfcReference* > v5_ReferencePath) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } if (v5_ReferencePath) { e->setArgument(4,(*v5_ReferencePath)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableRow -bool IfcTableRow::hasRowCells() const { return !entity->getArgument(0)->isNull(); } -IfcEntityList::ptr IfcTableRow::RowCells() const { return *entity->getArgument(0); } -void IfcTableRow::setRowCells(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTableRow::hasIsHeading() const { return !entity->getArgument(1)->isNull(); } -bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } -void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +boost::optional< IfcEntityList::ptr > IfcTableRow::RowCells() const { return *entity->getArgument(0); } +void IfcTableRow::RowCells(boost::optional< IfcEntityList::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< bool > IfcTableRow::IsHeading() const { return *entity->getArgument(1); } +void IfcTableRow::IsHeading(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable, 1)->as(); } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } Type::Enum IfcTableRow::type() const { return Type::IfcTableRow; } @@ -15955,100 +15269,77 @@ IfcTableRow::IfcTableRow(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if ( IfcTableRow::IfcTableRow(boost::optional< IfcEntityList::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RowCells) { e->setArgument(0,(*v1_RowCells)); } else { e->setArgument(0); } if (v2_IsHeading) { e->setArgument(1,(*v2_IsHeading)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTank -bool IfcTank::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcTankTypeEnum::IfcTankTypeEnum IfcTank::PredefinedType() const { return IfcTankTypeEnum::FromString(*entity->getArgument(8)); } -void IfcTank::setPredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcTankTypeEnum::ToString(v)); } +boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > IfcTank::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcTankTypeEnum::FromString(*arg); } } +void IfcTank::PredefinedType(boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcTankTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcTank::is(Type::Enum v) const { return v == Type::IfcTank || IfcFlowStorageDevice::is(v); } Type::Enum IfcTank::type() const { return Type::IfcTank; } Type::Enum IfcTank::Class() { return Type::IfcTank; } IfcTank::IfcTank(IfcAbstractEntity* e) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTank)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTank::IfcTank(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTankTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTank::IfcTank(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTankTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTankType IfcTankTypeEnum::IfcTankTypeEnum IfcTankType::PredefinedType() const { return IfcTankTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTankType::setPredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTankTypeEnum::ToString(v)); } +void IfcTankType::PredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTankTypeEnum::ToString(v));; } bool IfcTankType::is(Type::Enum v) const { return v == Type::IfcTankType || IfcFlowStorageDeviceType::is(v); } Type::Enum IfcTankType::type() const { return Type::IfcTankType; } Type::Enum IfcTankType::Class() { return Type::IfcTankType; } IfcTankType::IfcTankType(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTankType::IfcTankType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTankType::IfcTankType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTask -bool IfcTask::hasStatus() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTask::Status() const { return *entity->getArgument(7); } -void IfcTask::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTask::hasWorkMethod() const { return !entity->getArgument(8)->isNull(); } -std::string IfcTask::WorkMethod() const { return *entity->getArgument(8); } -void IfcTask::setWorkMethod(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcTask::Status() const { return *entity->getArgument(7); } +void IfcTask::Status(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcTask::WorkMethod() const { return *entity->getArgument(8); } +void IfcTask::WorkMethod(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcTask::IsMilestone() const { return *entity->getArgument(9); } -void IfcTask::setIsMilestone(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTask::hasPriority() const { return !entity->getArgument(10)->isNull(); } -int IfcTask::Priority() const { return *entity->getArgument(10); } -void IfcTask::setPriority(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTask::hasTaskTime() const { return !entity->getArgument(11)->isNull(); } -IfcTaskTime* IfcTask::TaskTime() const { return (IfcTaskTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } -void IfcTask::setTaskTime(IfcTaskTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTask::hasPredefinedType() const { return !entity->getArgument(12)->isNull(); } -IfcTaskTypeEnum::IfcTaskTypeEnum IfcTask::PredefinedType() const { return IfcTaskTypeEnum::FromString(*entity->getArgument(12)); } -void IfcTask::setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcTaskTypeEnum::ToString(v)); } +void IfcTask::IsMilestone(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v); } +boost::optional< int > IfcTask::Priority() const { return *entity->getArgument(10); } +void IfcTask::Priority(boost::optional< int > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< IfcTaskTime* > IfcTask::TaskTime() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return (IfcTaskTime*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTask::TaskTime(boost::optional< IfcTaskTime* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > IfcTask::PredefinedType() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return IfcTaskTypeEnum::FromString(*arg); } } +void IfcTask::PredefinedType(boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v,IfcTaskTypeEnum::ToString(*v));; } else { w->setArgument(12); } } bool IfcTask::is(Type::Enum v) const { return v == Type::IfcTask || IfcProcess::is(v); } Type::Enum IfcTask::type() const { return Type::IfcTask; } Type::Enum IfcTask::Class() { return Type::IfcTask; } IfcTask::IfcTask(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTask::IfcTask(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_WorkMethod) { e->setArgument(8,(*v9_WorkMethod)); } else { e->setArgument(8); } e->setArgument(9,(v10_IsMilestone)); if (v11_Priority) { e->setArgument(10,(*v11_Priority)); } else { e->setArgument(10); } e->setArgument(11,(v12_TaskTime)); if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcTaskTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcTask::IfcTask(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, boost::optional< IfcTaskTime* > v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_WorkMethod) { e->setArgument(8,(*v9_WorkMethod)); } else { e->setArgument(8); } e->setArgument(9,(v10_IsMilestone)); if (v11_Priority) { e->setArgument(10,(*v11_Priority)); } else { e->setArgument(10); } if (v12_TaskTime) { e->setArgument(11,(*v12_TaskTime)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcTaskTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTime -bool IfcTaskTime::hasDurationType() const { return !entity->getArgument(3)->isNull(); } -IfcTaskDurationEnum::IfcTaskDurationEnum IfcTaskTime::DurationType() const { return IfcTaskDurationEnum::FromString(*entity->getArgument(3)); } -void IfcTaskTime::setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcTaskDurationEnum::ToString(v)); } -bool IfcTaskTime::hasScheduleDuration() const { return !entity->getArgument(4)->isNull(); } -std::string IfcTaskTime::ScheduleDuration() const { return *entity->getArgument(4); } -void IfcTaskTime::setScheduleDuration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTaskTime::hasScheduleStart() const { return !entity->getArgument(5)->isNull(); } -std::string IfcTaskTime::ScheduleStart() const { return *entity->getArgument(5); } -void IfcTaskTime::setScheduleStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTaskTime::hasScheduleFinish() const { return !entity->getArgument(6)->isNull(); } -std::string IfcTaskTime::ScheduleFinish() const { return *entity->getArgument(6); } -void IfcTaskTime::setScheduleFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTaskTime::hasEarlyStart() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTaskTime::EarlyStart() const { return *entity->getArgument(7); } -void IfcTaskTime::setEarlyStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTaskTime::hasEarlyFinish() const { return !entity->getArgument(8)->isNull(); } -std::string IfcTaskTime::EarlyFinish() const { return *entity->getArgument(8); } -void IfcTaskTime::setEarlyFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTaskTime::hasLateStart() const { return !entity->getArgument(9)->isNull(); } -std::string IfcTaskTime::LateStart() const { return *entity->getArgument(9); } -void IfcTaskTime::setLateStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTaskTime::hasLateFinish() const { return !entity->getArgument(10)->isNull(); } -std::string IfcTaskTime::LateFinish() const { return *entity->getArgument(10); } -void IfcTaskTime::setLateFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTaskTime::hasFreeFloat() const { return !entity->getArgument(11)->isNull(); } -std::string IfcTaskTime::FreeFloat() const { return *entity->getArgument(11); } -void IfcTaskTime::setFreeFloat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTaskTime::hasTotalFloat() const { return !entity->getArgument(12)->isNull(); } -std::string IfcTaskTime::TotalFloat() const { return *entity->getArgument(12); } -void IfcTaskTime::setTotalFloat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcTaskTime::hasIsCritical() const { return !entity->getArgument(13)->isNull(); } -bool IfcTaskTime::IsCritical() const { return *entity->getArgument(13); } -void IfcTaskTime::setIsCritical(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcTaskTime::hasStatusTime() const { return !entity->getArgument(14)->isNull(); } -std::string IfcTaskTime::StatusTime() const { return *entity->getArgument(14); } -void IfcTaskTime::setStatusTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcTaskTime::hasActualDuration() const { return !entity->getArgument(15)->isNull(); } -std::string IfcTaskTime::ActualDuration() const { return *entity->getArgument(15); } -void IfcTaskTime::setActualDuration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcTaskTime::hasActualStart() const { return !entity->getArgument(16)->isNull(); } -std::string IfcTaskTime::ActualStart() const { return *entity->getArgument(16); } -void IfcTaskTime::setActualStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcTaskTime::hasActualFinish() const { return !entity->getArgument(17)->isNull(); } -std::string IfcTaskTime::ActualFinish() const { return *entity->getArgument(17); } -void IfcTaskTime::setActualFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcTaskTime::hasRemainingTime() const { return !entity->getArgument(18)->isNull(); } -std::string IfcTaskTime::RemainingTime() const { return *entity->getArgument(18); } -void IfcTaskTime::setRemainingTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcTaskTime::hasCompletion() const { return !entity->getArgument(19)->isNull(); } -double IfcTaskTime::Completion() const { return *entity->getArgument(19); } -void IfcTaskTime::setCompletion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } +boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > IfcTaskTime::DurationType() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return IfcTaskDurationEnum::FromString(*arg); } } +void IfcTaskTime::DurationType(boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v,IfcTaskDurationEnum::ToString(*v));; } else { w->setArgument(3); } } +boost::optional< std::string > IfcTaskTime::ScheduleDuration() const { return *entity->getArgument(4); } +void IfcTaskTime::ScheduleDuration(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcTaskTime::ScheduleStart() const { return *entity->getArgument(5); } +void IfcTaskTime::ScheduleStart(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::string > IfcTaskTime::ScheduleFinish() const { return *entity->getArgument(6); } +void IfcTaskTime::ScheduleFinish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcTaskTime::EarlyStart() const { return *entity->getArgument(7); } +void IfcTaskTime::EarlyStart(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcTaskTime::EarlyFinish() const { return *entity->getArgument(8); } +void IfcTaskTime::EarlyFinish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcTaskTime::LateStart() const { return *entity->getArgument(9); } +void IfcTaskTime::LateStart(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcTaskTime::LateFinish() const { return *entity->getArgument(10); } +void IfcTaskTime::LateFinish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< std::string > IfcTaskTime::FreeFloat() const { return *entity->getArgument(11); } +void IfcTaskTime::FreeFloat(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcTaskTime::TotalFloat() const { return *entity->getArgument(12); } +void IfcTaskTime::TotalFloat(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< bool > IfcTaskTime::IsCritical() const { return *entity->getArgument(13); } +void IfcTaskTime::IsCritical(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< std::string > IfcTaskTime::StatusTime() const { return *entity->getArgument(14); } +void IfcTaskTime::StatusTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< std::string > IfcTaskTime::ActualDuration() const { return *entity->getArgument(15); } +void IfcTaskTime::ActualDuration(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< std::string > IfcTaskTime::ActualStart() const { return *entity->getArgument(16); } +void IfcTaskTime::ActualStart(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } +boost::optional< std::string > IfcTaskTime::ActualFinish() const { return *entity->getArgument(17); } +void IfcTaskTime::ActualFinish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(17,*v); } else { w->setArgument(17); } } +boost::optional< std::string > IfcTaskTime::RemainingTime() const { return *entity->getArgument(18); } +void IfcTaskTime::RemainingTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(18,*v); } else { w->setArgument(18); } } +boost::optional< double > IfcTaskTime::Completion() const { return *entity->getArgument(19); } +void IfcTaskTime::Completion(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(19,*v); } else { w->setArgument(19); } } bool IfcTaskTime::is(Type::Enum v) const { return v == Type::IfcTaskTime || IfcSchedulingTime::is(v); } Type::Enum IfcTaskTime::type() const { return Type::IfcTaskTime; } Type::Enum IfcTaskTime::Class() { return Type::IfcTaskTime; } @@ -16057,7 +15348,7 @@ IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional // Function implementations for IfcTaskTimeRecurring IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrance() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(20))); } -void IfcTaskTimeRecurring::setRecurrance(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } +void IfcTaskTimeRecurring::Recurrance(IfcRecurrencePattern* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(20,v); } bool IfcTaskTimeRecurring::is(Type::Enum v) const { return v == Type::IfcTaskTimeRecurring || IfcTaskTime::is(v); } Type::Enum IfcTaskTimeRecurring::type() const { return Type::IfcTaskTimeRecurring; } Type::Enum IfcTaskTimeRecurring::Class() { return Type::IfcTaskTimeRecurring; } @@ -16066,35 +15357,28 @@ IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Nam // Function implementations for IfcTaskType IfcTaskTypeEnum::IfcTaskTypeEnum IfcTaskType::PredefinedType() const { return IfcTaskTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTaskType::setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTaskTypeEnum::ToString(v)); } -bool IfcTaskType::hasWorkMethod() const { return !entity->getArgument(10)->isNull(); } -std::string IfcTaskType::WorkMethod() const { return *entity->getArgument(10); } -void IfcTaskType::setWorkMethod(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcTaskType::PredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTaskTypeEnum::ToString(v));; } +boost::optional< std::string > IfcTaskType::WorkMethod() const { return *entity->getArgument(10); } +void IfcTaskType::WorkMethod(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } bool IfcTaskType::is(Type::Enum v) const { return v == Type::IfcTaskType || IfcTypeProcess::is(v); } Type::Enum IfcTaskType::type() const { return Type::IfcTaskType; } Type::Enum IfcTaskType::Class() { return Type::IfcTaskType; } IfcTaskType::IfcTaskType(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskType::IfcTaskType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTaskTypeEnum::ToString(v10_PredefinedType)); if (v11_WorkMethod) { e->setArgument(10,(*v11_WorkMethod)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcTaskType::IfcTaskType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTaskTypeEnum::ToString(v10_PredefinedType)); if (v11_WorkMethod) { e->setArgument(10,(*v11_WorkMethod)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTelecomAddress -bool IfcTelecomAddress::hasTelephoneNumbers() const { return !entity->getArgument(3)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } -void IfcTelecomAddress::setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTelecomAddress::hasFacsimileNumbers() const { return !entity->getArgument(4)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } -void IfcTelecomAddress::setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTelecomAddress::hasPagerNumber() const { return !entity->getArgument(5)->isNull(); } -std::string IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } -void IfcTelecomAddress::setPagerNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTelecomAddress::hasElectronicMailAddresses() const { return !entity->getArgument(6)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } -void IfcTelecomAddress::setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTelecomAddress::hasWWWHomePageURL() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } -void IfcTelecomAddress::setWWWHomePageURL(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTelecomAddress::hasMessagingIDs() const { return !entity->getArgument(8)->isNull(); } -std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::MessagingIDs() const { return *entity->getArgument(8); } -void IfcTelecomAddress::setMessagingIDs(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } +void IfcTelecomAddress::TelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } +void IfcTelecomAddress::FacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } +void IfcTelecomAddress::PagerNumber(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } +void IfcTelecomAddress::ElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } +void IfcTelecomAddress::WWWHomePageURL(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::vector< std::string > /*[1:?]*/ > IfcTelecomAddress::MessagingIDs() const { return *entity->getArgument(8); } +void IfcTelecomAddress::MessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } Type::Enum IfcTelecomAddress::type() const { return Type::IfcTelecomAddress; } Type::Enum IfcTelecomAddress::Class() { return Type::IfcTelecomAddress; } @@ -16102,79 +15386,66 @@ IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbst IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL, boost::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } if (v9_MessagingIDs) { e->setArgument(8,(*v9_MessagingIDs)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendon -bool IfcTendon::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } -IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTendon::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } -bool IfcTendon::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -double IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } -void IfcTendon::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTendon::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } -double IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcTendon::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTendon::hasTensionForce() const { return !entity->getArgument(12)->isNull(); } -double IfcTendon::TensionForce() const { return *entity->getArgument(12); } -void IfcTendon::setTensionForce(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcTendon::hasPreStress() const { return !entity->getArgument(13)->isNull(); } -double IfcTendon::PreStress() const { return *entity->getArgument(13); } -void IfcTendon::setPreStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcTendon::hasFrictionCoefficient() const { return !entity->getArgument(14)->isNull(); } -double IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } -void IfcTendon::setFrictionCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcTendon::hasAnchorageSlip() const { return !entity->getArgument(15)->isNull(); } -double IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } -void IfcTendon::setAnchorageSlip(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcTendon::hasMinCurvatureRadius() const { return !entity->getArgument(16)->isNull(); } -double IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } -void IfcTendon::setMinCurvatureRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > IfcTendon::PredefinedType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcTendonTypeEnum::FromString(*arg); } } +void IfcTendon::PredefinedType(boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcTendonTypeEnum::ToString(*v));; } else { w->setArgument(9); } } +boost::optional< double > IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } +void IfcTendon::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcTendon::CrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcTendon::TensionForce() const { return *entity->getArgument(12); } +void IfcTendon::TensionForce(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcTendon::PreStress() const { return *entity->getArgument(13); } +void IfcTendon::PreStress(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } +void IfcTendon::FrictionCoefficient(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } +void IfcTendon::AnchorageSlip(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } +boost::optional< double > IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } +void IfcTendon::MinCurvatureRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(16,*v); } else { w->setArgument(16); } } bool IfcTendon::is(Type::Enum v) const { return v == Type::IfcTendon || IfcReinforcingElement::is(v); } Type::Enum IfcTendon::type() const { return Type::IfcTendon; } Type::Enum IfcTendon::Class() { return Type::IfcTendon; } IfcTendon::IfcTendon(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendon::IfcTendon(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcTendon::IfcTendon(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchor -bool IfcTendonAnchor::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } -IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum IfcTendonAnchor::PredefinedType() const { return IfcTendonAnchorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTendonAnchor::setPredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonAnchorTypeEnum::ToString(v)); } +boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > IfcTendonAnchor::PredefinedType() const { Argument* arg = entity->getArgument(9); if (arg->isNull()) { return boost::none; } else { return IfcTendonAnchorTypeEnum::FromString(*arg); } } +void IfcTendonAnchor::PredefinedType(boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v,IfcTendonAnchorTypeEnum::ToString(*v));; } else { w->setArgument(9); } } bool IfcTendonAnchor::is(Type::Enum v) const { return v == Type::IfcTendonAnchor || IfcReinforcingElement::is(v); } Type::Enum IfcTendonAnchor::type() const { return Type::IfcTendonAnchor; } Type::Enum IfcTendonAnchor::Class() { return Type::IfcTendonAnchor; } IfcTendonAnchor::IfcTendonAnchor(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchorType IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum IfcTendonAnchorType::PredefinedType() const { return IfcTendonAnchorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTendonAnchorType::setPredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonAnchorTypeEnum::ToString(v)); } +void IfcTendonAnchorType::PredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTendonAnchorTypeEnum::ToString(v));; } bool IfcTendonAnchorType::is(Type::Enum v) const { return v == Type::IfcTendonAnchorType || IfcReinforcingElementType::is(v); } Type::Enum IfcTendonAnchorType::type() const { return Type::IfcTendonAnchorType; } Type::Enum IfcTendonAnchorType::Class() { return Type::IfcTendonAnchorType; } IfcTendonAnchorType::IfcTendonAnchorType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonType IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendonType::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTendonType::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } -bool IfcTendonType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -double IfcTendonType::NominalDiameter() const { return *entity->getArgument(10); } -void IfcTendonType::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTendonType::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } -double IfcTendonType::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcTendonType::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTendonType::hasSheethDiameter() const { return !entity->getArgument(12)->isNull(); } -double IfcTendonType::SheethDiameter() const { return *entity->getArgument(12); } -void IfcTendonType::setSheethDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcTendonType::PredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTendonTypeEnum::ToString(v));; } +boost::optional< double > IfcTendonType::NominalDiameter() const { return *entity->getArgument(10); } +void IfcTendonType::NominalDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcTendonType::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcTendonType::CrossSectionArea(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< double > IfcTendonType::SheethDiameter() const { return *entity->getArgument(12); } +void IfcTendonType::SheethDiameter(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcTendonType::is(Type::Enum v) const { return v == Type::IfcTendonType || IfcReinforcingElementType::is(v); } Type::Enum IfcTendonType::type() const { return Type::IfcTendonType; } Type::Enum IfcTendonType::Class() { return Type::IfcTendonType; } IfcTendonType::IfcTendonType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonType::IfcTendonType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheethDiameter) { e->setArgument(12,(*v13_SheethDiameter)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcTendonType::IfcTendonType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheethDiameter) { e->setArgument(12,(*v13_SheethDiameter)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTessellatedFaceSet IfcCartesianPointList3D* IfcTessellatedFaceSet::Coordinates() const { return (IfcCartesianPointList3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTessellatedFaceSet::setCoordinates(IfcCartesianPointList3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTessellatedFaceSet::hasClosed() const { return !entity->getArgument(2)->isNull(); } -bool IfcTessellatedFaceSet::Closed() const { return *entity->getArgument(2); } -void IfcTessellatedFaceSet::setClosed(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTessellatedFaceSet::Coordinates(IfcCartesianPointList3D* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< bool > IfcTessellatedFaceSet::Closed() const { return *entity->getArgument(2); } +void IfcTessellatedFaceSet::Closed(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcIndexedColourMap::list::ptr IfcTessellatedFaceSet::HasColours() const { return entity->getInverse(Type::IfcIndexedColourMap, 0)->as(); } IfcIndexedTextureMap::list::ptr IfcTessellatedFaceSet::HasTextures() const { return entity->getInverse(Type::IfcIndexedTextureMap, 1)->as(); } bool IfcTessellatedFaceSet::is(Type::Enum v) const { return v == Type::IfcTessellatedFaceSet || IfcTessellatedItem::is(v); } @@ -16192,11 +15463,11 @@ IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem((IfcAb // Function implementations for IfcTextLiteral std::string IfcTextLiteral::Literal() const { return *entity->getArgument(0); } -void IfcTextLiteral::setLiteral(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTextLiteral::Literal(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcAxis2Placement* IfcTextLiteral::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTextLiteral::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTextLiteral::Placement(IfcAxis2Placement* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcTextPath::IfcTextPath IfcTextLiteral::Path() const { return IfcTextPath::FromString(*entity->getArgument(2)); } -void IfcTextLiteral::setPath(IfcTextPath::IfcTextPath v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcTextPath::ToString(v)); } +void IfcTextLiteral::Path(IfcTextPath::IfcTextPath v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v,IfcTextPath::ToString(v));; } bool IfcTextLiteral::is(Type::Enum v) const { return v == Type::IfcTextLiteral || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTextLiteral::type() const { return Type::IfcTextLiteral; } Type::Enum IfcTextLiteral::Class() { return Type::IfcTextLiteral; } @@ -16205,9 +15476,9 @@ IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, IfcAxis2Placement* v2_Pla // Function implementations for IfcTextLiteralWithExtent IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() const { return (IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTextLiteralWithExtent::setExtent(IfcPlanarExtent* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTextLiteralWithExtent::Extent(IfcPlanarExtent* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } std::string IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } -void IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTextLiteralWithExtent::BoxAlignment(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } bool IfcTextLiteralWithExtent::is(Type::Enum v) const { return v == Type::IfcTextLiteralWithExtent || IfcTextLiteral::is(v); } Type::Enum IfcTextLiteralWithExtent::type() const { return Type::IfcTextLiteralWithExtent; } Type::Enum IfcTextLiteralWithExtent::Class() { return Type::IfcTextLiteralWithExtent; } @@ -16215,37 +15486,31 @@ IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntity* e) : IfcTe IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyle -bool IfcTextStyle::hasTextCharacterAppearance() const { return !entity->getArgument(1)->isNull(); } -IfcTextStyleForDefinedFont* IfcTextStyle::TextCharacterAppearance() const { return (IfcTextStyleForDefinedFont*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTextStyle::setTextCharacterAppearance(IfcTextStyleForDefinedFont* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyle::hasTextStyle() const { return !entity->getArgument(2)->isNull(); } -IfcTextStyleTextModel* IfcTextStyle::TextStyle() const { return (IfcTextStyleTextModel*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcTextStyle::setTextStyle(IfcTextStyleTextModel* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +boost::optional< IfcTextStyleForDefinedFont* > IfcTextStyle::TextCharacterAppearance() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcTextStyleForDefinedFont*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyle::TextCharacterAppearance(boost::optional< IfcTextStyleForDefinedFont* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< IfcTextStyleTextModel* > IfcTextStyle::TextStyle() const { Argument* arg = entity->getArgument(2); if (arg->isNull()) { return boost::none; } else { return (IfcTextStyleTextModel*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyle::TextStyle(boost::optional< IfcTextStyleTextModel* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } IfcTextFontSelect* IfcTextStyle::TextFontStyle() const { return (IfcTextFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTextStyle::setTextFontStyle(IfcTextFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyle::hasModelOrDraughting() const { return !entity->getArgument(4)->isNull(); } -bool IfcTextStyle::ModelOrDraughting() const { return *entity->getArgument(4); } -void IfcTextStyle::setModelOrDraughting(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTextStyle::TextFontStyle(IfcTextFontSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } +boost::optional< bool > IfcTextStyle::ModelOrDraughting() const { return *entity->getArgument(4); } +void IfcTextStyle::ModelOrDraughting(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } bool IfcTextStyle::is(Type::Enum v) const { return v == Type::IfcTextStyle || IfcPresentationStyle::is(v); } Type::Enum IfcTextStyle::type() const { return Type::IfcTextStyle; } Type::Enum IfcTextStyle::Class() { return Type::IfcTextStyle; } IfcTextStyle::IfcTextStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TextCharacterAppearance)); e->setArgument(2,(v3_TextStyle)); e->setArgument(3,(v4_TextFontStyle)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, boost::optional< IfcTextStyleForDefinedFont* > v2_TextCharacterAppearance, boost::optional< IfcTextStyleTextModel* > v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TextCharacterAppearance) { e->setArgument(1,(*v2_TextCharacterAppearance)); } else { e->setArgument(1); } if (v3_TextStyle) { e->setArgument(2,(*v3_TextStyle)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextFontStyle)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleFontModel std::vector< std::string > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } -void IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleFontModel::hasFontStyle() const { return !entity->getArgument(2)->isNull(); } -std::string IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } -void IfcTextStyleFontModel::setFontStyle(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleFontModel::hasFontVariant() const { return !entity->getArgument(3)->isNull(); } -std::string IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } -void IfcTextStyleFontModel::setFontVariant(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleFontModel::hasFontWeight() const { return !entity->getArgument(4)->isNull(); } -std::string IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } -void IfcTextStyleFontModel::setFontWeight(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTextStyleFontModel::FontFamily(std::vector< std::string > /*[1:?]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::string > IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } +void IfcTextStyleFontModel::FontStyle(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< std::string > IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } +void IfcTextStyleFontModel::FontVariant(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } +void IfcTextStyleFontModel::FontWeight(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } IfcSizeSelect* IfcTextStyleFontModel::FontSize() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } -void IfcTextStyleFontModel::setFontSize(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcTextStyleFontModel::FontSize(IfcSizeSelect* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } bool IfcTextStyleFontModel::is(Type::Enum v) const { return v == Type::IfcTextStyleFontModel || IfcPreDefinedTextFont::is(v); } Type::Enum IfcTextStyleFontModel::type() const { return Type::IfcTextStyleFontModel; } Type::Enum IfcTextStyleFontModel::Class() { return Type::IfcTextStyleFontModel; } @@ -16254,47 +15519,39 @@ IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< s // Function implementations for IfcTextStyleForDefinedFont IfcColour* IfcTextStyleForDefinedFont::Colour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTextStyleForDefinedFont::setColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !entity->getArgument(1)->isNull(); } -IfcColour* IfcTextStyleForDefinedFont::BackgroundColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } -void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTextStyleForDefinedFont::Colour(IfcColour* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< IfcColour* > IfcTextStyleForDefinedFont::BackgroundColour() const { Argument* arg = entity->getArgument(1); if (arg->isNull()) { return boost::none; } else { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleForDefinedFont::BackgroundColour(boost::optional< IfcColour* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } bool IfcTextStyleForDefinedFont::is(Type::Enum v) const { return v == Type::IfcTextStyleForDefinedFont || IfcPresentationItem::is(v); } Type::Enum IfcTextStyleForDefinedFont::type() const { return Type::IfcTextStyleForDefinedFont; } Type::Enum IfcTextStyleForDefinedFont::Class() { return Type::IfcTextStyleForDefinedFont; } IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour* v1_Colour, IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); e->setArgument(1,(v2_BackgroundColour)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour* v1_Colour, boost::optional< IfcColour* > v2_BackgroundColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleTextModel -bool IfcTextStyleTextModel::hasTextIndent() const { return !entity->getArgument(0)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::TextIndent() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleTextModel::hasTextAlign() const { return !entity->getArgument(1)->isNull(); } -std::string IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } -void IfcTextStyleTextModel::setTextAlign(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleTextModel::hasTextDecoration() const { return !entity->getArgument(2)->isNull(); } -std::string IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } -void IfcTextStyleTextModel::setTextDecoration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleTextModel::hasLetterSpacing() const { return !entity->getArgument(3)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::LetterSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleTextModel::hasWordSpacing() const { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::WordSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } -void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTextStyleTextModel::hasTextTransform() const { return !entity->getArgument(5)->isNull(); } -std::string IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } -void IfcTextStyleTextModel::setTextTransform(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTextStyleTextModel::hasLineHeight() const { return !entity->getArgument(6)->isNull(); } -IfcSizeSelect* IfcTextStyleTextModel::LineHeight() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } -void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::TextIndent() const { Argument* arg = entity->getArgument(0); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::TextIndent(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(0,*v); } else { w->setArgument(0); } } +boost::optional< std::string > IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } +void IfcTextStyleTextModel::TextAlign(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } +boost::optional< std::string > IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } +void IfcTextStyleTextModel::TextDecoration(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::LetterSpacing() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::LetterSpacing(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::WordSpacing() const { Argument* arg = entity->getArgument(4); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::WordSpacing(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } +void IfcTextStyleTextModel::TextTransform(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< IfcSizeSelect* > IfcTextStyleTextModel::LineHeight() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTextStyleTextModel::LineHeight(boost::optional< IfcSizeSelect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } bool IfcTextStyleTextModel::is(Type::Enum v) const { return v == Type::IfcTextStyleTextModel || IfcPresentationItem::is(v); } Type::Enum IfcTextStyleTextModel::type() const { return Type::IfcTextStyleTextModel; } Type::Enum IfcTextStyleTextModel::Class() { return Type::IfcTextStyleTextModel; } IfcTextStyleTextModel::IfcTextStyleTextModel(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleTextModel::IfcTextStyleTextModel(IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextIndent)); if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } e->setArgument(3,(v4_LetterSpacing)); e->setArgument(4,(v5_WordSpacing)); if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } e->setArgument(6,(v7_LineHeight)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect* > v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, boost::optional< IfcSizeSelect* > v4_LetterSpacing, boost::optional< IfcSizeSelect* > v5_WordSpacing, boost::optional< std::string > v6_TextTransform, boost::optional< IfcSizeSelect* > v7_LineHeight) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinate IfcTemplatedEntityList< IfcSurfaceTexture >::ptr IfcTextureCoordinate::Maps() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcTextureCoordinate::setMaps(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcTextureCoordinate::Maps(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } bool IfcTextureCoordinate::is(Type::Enum v) const { return v == Type::IfcTextureCoordinate || IfcPresentationItem::is(v); } Type::Enum IfcTextureCoordinate::type() const { return Type::IfcTextureCoordinate; } Type::Enum IfcTextureCoordinate::Class() { return Type::IfcTextureCoordinate; } @@ -16303,10 +15560,9 @@ IfcTextureCoordinate::IfcTextureCoordinate(IfcTemplatedEntityList< IfcSurfaceTex // Function implementations for IfcTextureCoordinateGenerator std::string IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(1); } -void IfcTextureCoordinateGenerator::setMode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextureCoordinateGenerator::hasParameter() const { return !entity->getArgument(2)->isNull(); } -std::vector< double > /*[1:?]*/ IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(2); } -void IfcTextureCoordinateGenerator::setParameter(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTextureCoordinateGenerator::Mode(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } +boost::optional< std::vector< double > /*[1:?]*/ > IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(2); } +void IfcTextureCoordinateGenerator::Parameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(2,*v); } else { w->setArgument(2); } } bool IfcTextureCoordinateGenerator::is(Type::Enum v) const { return v == Type::IfcTextureCoordinateGenerator || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureCoordinateGenerator::type() const { return Type::IfcTextureCoordinateGenerator; } Type::Enum IfcTextureCoordinateGenerator::Class() { return Type::IfcTextureCoordinateGenerator; } @@ -16315,9 +15571,9 @@ IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcTemplatedEntityL // Function implementations for IfcTextureMap IfcTemplatedEntityList< IfcTextureVertex >::ptr IfcTextureMap::Vertices() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTextureMap::setVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +void IfcTextureMap::Vertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v->generalize());; } IfcFace* IfcTextureMap::MappedTo() const { return (IfcFace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } -void IfcTextureMap::setMappedTo(IfcFace* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTextureMap::MappedTo(IfcFace* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcTextureMap::is(Type::Enum v) const { return v == Type::IfcTextureMap || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureMap::type() const { return Type::IfcTextureMap; } Type::Enum IfcTextureMap::Class() { return Type::IfcTextureMap; } @@ -16326,7 +15582,7 @@ IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1 // Function implementations for IfcTextureVertex std::vector< double > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } -void IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTextureVertex::Coordinates(std::vector< double > /*[2:2]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcTextureVertex::is(Type::Enum v) const { return v == Type::IfcTextureVertex || IfcPresentationItem::is(v); } Type::Enum IfcTextureVertex::type() const { return Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::Class() { return Type::IfcTextureVertex; } @@ -16342,9 +15598,9 @@ IfcTextureVertexList::IfcTextureVertexList() : IfcPresentationItem((IfcAbstractE // Function implementations for IfcTimePeriod std::string IfcTimePeriod::StartTime() const { return *entity->getArgument(0); } -void IfcTimePeriod::setStartTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTimePeriod::StartTime(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } std::string IfcTimePeriod::EndTime() const { return *entity->getArgument(1); } -void IfcTimePeriod::setEndTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTimePeriod::EndTime(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcTimePeriod::is(Type::Enum v) const { return v == Type::IfcTimePeriod; } Type::Enum IfcTimePeriod::type() const { return Type::IfcTimePeriod; } Type::Enum IfcTimePeriod::Class() { return Type::IfcTimePeriod; } @@ -16353,34 +15609,31 @@ IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : // Function implementations for IfcTimeSeries std::string IfcTimeSeries::Name() const { return *entity->getArgument(0); } -void IfcTimeSeries::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTimeSeries::hasDescription() const { return !entity->getArgument(1)->isNull(); } -std::string IfcTimeSeries::Description() const { return *entity->getArgument(1); } -void IfcTimeSeries::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTimeSeries::Name(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } +boost::optional< std::string > IfcTimeSeries::Description() const { return *entity->getArgument(1); } +void IfcTimeSeries::Description(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(1,*v); } else { w->setArgument(1); } } std::string IfcTimeSeries::StartTime() const { return *entity->getArgument(2); } -void IfcTimeSeries::setStartTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTimeSeries::StartTime(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } std::string IfcTimeSeries::EndTime() const { return *entity->getArgument(3); } -void IfcTimeSeries::setEndTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTimeSeries::EndTime(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() const { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } -void IfcTimeSeries::setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v)); } +void IfcTimeSeries::TimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v));; } IfcDataOriginEnum::IfcDataOriginEnum IfcTimeSeries::DataOrigin() const { return IfcDataOriginEnum::FromString(*entity->getArgument(5)); } -void IfcTimeSeries::setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDataOriginEnum::ToString(v)); } -bool IfcTimeSeries::hasUserDefinedDataOrigin() const { return !entity->getArgument(6)->isNull(); } -std::string IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } -void IfcTimeSeries::setUserDefinedDataOrigin(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTimeSeries::hasUnit() const { return !entity->getArgument(7)->isNull(); } -IfcUnit* IfcTimeSeries::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } -void IfcTimeSeries::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +void IfcTimeSeries::DataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcDataOriginEnum::ToString(v));; } +boost::optional< std::string > IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } +void IfcTimeSeries::UserDefinedDataOrigin(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< IfcUnit* > IfcTimeSeries::Unit() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcTimeSeries::Unit(boost::optional< IfcUnit* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcExternalReferenceRelationship::list::ptr IfcTimeSeries::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship, 3)->as(); } bool IfcTimeSeries::is(Type::Enum v) const { return v == Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::type() const { return Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } IfcTimeSeries::IfcTimeSeries(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesValue IfcEntityList::ptr IfcTimeSeriesValue::ListValues() const { return *entity->getArgument(0); } -void IfcTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTimeSeriesValue::ListValues(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcTimeSeriesValue; } Type::Enum IfcTimeSeriesValue::type() const { return Type::IfcTimeSeriesValue; } Type::Enum IfcTimeSeriesValue::Class() { return Type::IfcTimeSeriesValue; } @@ -16402,57 +15655,55 @@ IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntity* e) : Ifc IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformer -bool IfcTransformer::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformer::PredefinedType() const { return IfcTransformerTypeEnum::FromString(*entity->getArgument(8)); } -void IfcTransformer::setPredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcTransformerTypeEnum::ToString(v)); } +boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > IfcTransformer::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcTransformerTypeEnum::FromString(*arg); } } +void IfcTransformer::PredefinedType(boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcTransformerTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcTransformer::is(Type::Enum v) const { return v == Type::IfcTransformer || IfcEnergyConversionDevice::is(v); } Type::Enum IfcTransformer::type() const { return Type::IfcTransformer; } Type::Enum IfcTransformer::Class() { return Type::IfcTransformer; } IfcTransformer::IfcTransformer(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformer::IfcTransformer(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransformerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTransformer::IfcTransformer(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransformerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformerType IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerType::PredefinedType() const { return IfcTransformerTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTransformerType::setPredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTransformerTypeEnum::ToString(v)); } +void IfcTransformerType::PredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTransformerTypeEnum::ToString(v));; } bool IfcTransformerType::is(Type::Enum v) const { return v == Type::IfcTransformerType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcTransformerType::type() const { return Type::IfcTransformerType; } Type::Enum IfcTransformerType::Class() { return Type::IfcTransformerType; } IfcTransformerType::IfcTransformerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElement -bool IfcTransportElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElement::PredefinedType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcTransportElement::setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcTransportElementTypeEnum::ToString(v)); } +boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > IfcTransportElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcTransportElementTypeEnum::FromString(*arg); } } +void IfcTransportElement::PredefinedType(boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcTransportElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcTransportElement::is(Type::Enum v) const { return v == Type::IfcTransportElement || IfcElement::is(v); } Type::Enum IfcTransportElement::type() const { return Type::IfcTransportElement; } Type::Enum IfcTransportElement::Class() { return Type::IfcTransportElement; } IfcTransportElement::IfcTransportElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransportElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransportElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElementType IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementType::PredefinedType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTransportElementType::setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTransportElementTypeEnum::ToString(v)); } +void IfcTransportElementType::PredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTransportElementTypeEnum::ToString(v));; } bool IfcTransportElementType::is(Type::Enum v) const { return v == Type::IfcTransportElementType || IfcElementType::is(v); } Type::Enum IfcTransportElementType::type() const { return Type::IfcTransportElementType; } Type::Enum IfcTransportElementType::Class() { return Type::IfcTransportElementType; } IfcTransportElementType::IfcTransportElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrapeziumProfileDef double IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } -void IfcTrapeziumProfileDef::setBottomXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTrapeziumProfileDef::BottomXDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } -void IfcTrapeziumProfileDef::setTopXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcTrapeziumProfileDef::TopXDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } -void IfcTrapeziumProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcTrapeziumProfileDef::YDim(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } -void IfcTrapeziumProfileDef::setTopXOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +void IfcTrapeziumProfileDef::TopXOffset(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } bool IfcTrapeziumProfileDef::is(Type::Enum v) const { return v == Type::IfcTrapeziumProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTrapeziumProfileDef::type() const { return Type::IfcTrapeziumProfileDef; } Type::Enum IfcTrapeziumProfileDef::Class() { return Type::IfcTrapeziumProfileDef; } IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } +IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTriangulatedFaceSet bool IfcTriangulatedFaceSet::is(Type::Enum v) const { return v == Type::IfcTriangulatedFaceSet || IfcTessellatedFaceSet::is(v); } @@ -16463,15 +15714,15 @@ IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcCartesianPointList3D* v1_Coord // Function implementations for IfcTrimmedCurve IfcCurve* IfcTrimmedCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcTrimmedCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcTrimmedCurve::BasisCurve(IfcCurve* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } IfcEntityList::ptr IfcTrimmedCurve::Trim1() const { return *entity->getArgument(1); } -void IfcTrimmedCurve::setTrim1(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcTrimmedCurve::Trim1(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } IfcEntityList::ptr IfcTrimmedCurve::Trim2() const { return *entity->getArgument(2); } -void IfcTrimmedCurve::setTrim2(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +void IfcTrimmedCurve::Trim2(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(2,v); } bool IfcTrimmedCurve::SenseAgreement() const { return *entity->getArgument(3); } -void IfcTrimmedCurve::setSenseAgreement(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcTrimmedCurve::SenseAgreement(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() const { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } -void IfcTrimmedCurve::setMasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTrimmingPreference::ToString(v)); } +void IfcTrimmedCurve::MasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcTrimmingPreference::ToString(v));; } bool IfcTrimmedCurve::is(Type::Enum v) const { return v == Type::IfcTrimmedCurve || IfcBoundedCurve::is(v); } Type::Enum IfcTrimmedCurve::type() const { return Type::IfcTrimmedCurve; } Type::Enum IfcTrimmedCurve::Class() { return Type::IfcTrimmedCurve; } @@ -16479,113 +15730,99 @@ IfcTrimmedCurve::IfcTrimmedCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbs IfcTrimmedCurve::IfcTrimmedCurve(IfcCurve* v1_BasisCurve, IfcEntityList::ptr v2_Trim1, IfcEntityList::ptr v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Trim1)); e->setArgument(2,(v3_Trim2)); e->setArgument(3,(v4_SenseAgreement)); e->setArgument(4,v5_MasterRepresentation,IfcTrimmingPreference::ToString(v5_MasterRepresentation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTubeBundle -bool IfcTubeBundle::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundle::PredefinedType() const { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(8)); } -void IfcTubeBundle::setPredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcTubeBundleTypeEnum::ToString(v)); } +boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > IfcTubeBundle::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcTubeBundleTypeEnum::FromString(*arg); } } +void IfcTubeBundle::PredefinedType(boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcTubeBundleTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcTubeBundle::is(Type::Enum v) const { return v == Type::IfcTubeBundle || IfcEnergyConversionDevice::is(v); } Type::Enum IfcTubeBundle::type() const { return Type::IfcTubeBundle; } Type::Enum IfcTubeBundle::Class() { return Type::IfcTubeBundle; } IfcTubeBundle::IfcTubeBundle(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTubeBundleTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTubeBundleTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTubeBundleType IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundleType::PredefinedType() const { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(9)); } -void IfcTubeBundleType::setPredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTubeBundleTypeEnum::ToString(v)); } +void IfcTubeBundleType::PredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcTubeBundleTypeEnum::ToString(v));; } bool IfcTubeBundleType::is(Type::Enum v) const { return v == Type::IfcTubeBundleType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcTubeBundleType::type() const { return Type::IfcTubeBundleType; } Type::Enum IfcTubeBundleType::Class() { return Type::IfcTubeBundleType; } IfcTubeBundleType::IfcTubeBundleType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeObject -bool IfcTypeObject::hasApplicableOccurrence() const { return !entity->getArgument(4)->isNull(); } -std::string IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } -void IfcTypeObject::setApplicableOccurrence(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTypeObject::hasHasPropertySets() const { return !entity->getArgument(5)->isNull(); } -IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +boost::optional< std::string > IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } +void IfcTypeObject::ApplicableOccurrence(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > IfcTypeObject::HasPropertySets() const { Argument* arg = entity->getArgument(5); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcTypeObject::HasPropertySets(boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,(*v)->generalize());; } else { w->setArgument(5); } } IfcRelDefinesByType::list::ptr IfcTypeObject::Types() const { return entity->getInverse(Type::IfcRelDefinesByType, 5)->as(); } bool IfcTypeObject::is(Type::Enum v) const { return v == Type::IfcTypeObject || IfcObjectDefinition::is(v); } Type::Enum IfcTypeObject::type() const { return Type::IfcTypeObject; } Type::Enum IfcTypeObject::Class() { return Type::IfcTypeObject; } IfcTypeObject::IfcTypeObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProcess -bool IfcTypeProcess::hasIdentification() const { return !entity->getArgument(6)->isNull(); } -std::string IfcTypeProcess::Identification() const { return *entity->getArgument(6); } -void IfcTypeProcess::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTypeProcess::hasLongDescription() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTypeProcess::LongDescription() const { return *entity->getArgument(7); } -void IfcTypeProcess::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTypeProcess::hasProcessType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcTypeProcess::ProcessType() const { return *entity->getArgument(8); } -void IfcTypeProcess::setProcessType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcTypeProcess::Identification() const { return *entity->getArgument(6); } +void IfcTypeProcess::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcTypeProcess::LongDescription() const { return *entity->getArgument(7); } +void IfcTypeProcess::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcTypeProcess::ProcessType() const { return *entity->getArgument(8); } +void IfcTypeProcess::ProcessType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcRelAssignsToProcess::list::ptr IfcTypeProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess, 6)->as(); } bool IfcTypeProcess::is(Type::Enum v) const { return v == Type::IfcTypeProcess || IfcTypeObject::is(v); } Type::Enum IfcTypeProcess::type() const { return Type::IfcTypeProcess; } Type::Enum IfcTypeProcess::Class() { return Type::IfcTypeProcess; } IfcTypeProcess::IfcTypeProcess(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProduct -bool IfcTypeProduct::hasRepresentationMaps() const { return !entity->getArgument(6)->isNull(); } -IfcTemplatedEntityList< IfcRepresentationMap >::ptr IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcTypeProduct::hasTag() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTypeProduct::Tag() const { return *entity->getArgument(7); } -void IfcTypeProduct::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > IfcTypeProduct::RepresentationMaps() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcTypeProduct::RepresentationMaps(boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,(*v)->generalize());; } else { w->setArgument(6); } } +boost::optional< std::string > IfcTypeProduct::Tag() const { return *entity->getArgument(7); } +void IfcTypeProduct::Tag(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } IfcRelAssignsToProduct::list::ptr IfcTypeProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct, 6)->as(); } bool IfcTypeProduct::is(Type::Enum v) const { return v == Type::IfcTypeProduct || IfcTypeObject::is(v); } Type::Enum IfcTypeProduct::type() const { return Type::IfcTypeProduct; } Type::Enum IfcTypeProduct::Class() { return Type::IfcTypeProduct; } IfcTypeProduct::IfcTypeProduct(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeResource -bool IfcTypeResource::hasIdentification() const { return !entity->getArgument(6)->isNull(); } -std::string IfcTypeResource::Identification() const { return *entity->getArgument(6); } -void IfcTypeResource::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTypeResource::hasLongDescription() const { return !entity->getArgument(7)->isNull(); } -std::string IfcTypeResource::LongDescription() const { return *entity->getArgument(7); } -void IfcTypeResource::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTypeResource::hasResourceType() const { return !entity->getArgument(8)->isNull(); } -std::string IfcTypeResource::ResourceType() const { return *entity->getArgument(8); } -void IfcTypeResource::setResourceType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +boost::optional< std::string > IfcTypeResource::Identification() const { return *entity->getArgument(6); } +void IfcTypeResource::Identification(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< std::string > IfcTypeResource::LongDescription() const { return *entity->getArgument(7); } +void IfcTypeResource::LongDescription(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< std::string > IfcTypeResource::ResourceType() const { return *entity->getArgument(8); } +void IfcTypeResource::ResourceType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } IfcRelAssignsToResource::list::ptr IfcTypeResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource, 6)->as(); } bool IfcTypeResource::is(Type::Enum v) const { return v == Type::IfcTypeResource || IfcTypeObject::is(v); } Type::Enum IfcTypeResource::type() const { return Type::IfcTypeResource; } Type::Enum IfcTypeResource::Class() { return Type::IfcTypeResource; } IfcTypeResource::IfcTypeResource(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUShapeProfileDef double IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcUShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcUShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcUShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcUShapeProfileDef::FlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcUShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcUShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcUShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcUShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcUShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcUShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcUShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcUShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } -double IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } -void IfcUShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +void IfcUShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcUShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcUShapeProfileDef::EdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } +void IfcUShapeProfileDef::FlangeSlope(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } bool IfcUShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcUShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcUShapeProfileDef::type() const { return Type::IfcUShapeProfileDef; } Type::Enum IfcUShapeProfileDef::Class() { return Type::IfcUShapeProfileDef; } IfcUShapeProfileDef::IfcUShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitAssignment IfcEntityList::ptr IfcUnitAssignment::Units() const { return *entity->getArgument(0); } -void IfcUnitAssignment::setUnits(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcUnitAssignment::Units(IfcEntityList::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcUnitAssignment::is(Type::Enum v) const { return v == Type::IfcUnitAssignment; } Type::Enum IfcUnitAssignment::type() const { return Type::IfcUnitAssignment; } Type::Enum IfcUnitAssignment::Class() { return Type::IfcUnitAssignment; } @@ -16593,67 +15830,64 @@ IfcUnitAssignment::IfcUnitAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEnt IfcUnitAssignment::IfcUnitAssignment(IfcEntityList::ptr v1_Units) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Units)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryControlElement -bool IfcUnitaryControlElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum IfcUnitaryControlElement::PredefinedType() const { return IfcUnitaryControlElementTypeEnum::FromString(*entity->getArgument(8)); } -void IfcUnitaryControlElement::setPredefinedType(IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcUnitaryControlElementTypeEnum::ToString(v)); } +boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > IfcUnitaryControlElement::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcUnitaryControlElementTypeEnum::FromString(*arg); } } +void IfcUnitaryControlElement::PredefinedType(boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcUnitaryControlElementTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcUnitaryControlElement::is(Type::Enum v) const { return v == Type::IfcUnitaryControlElement || IfcDistributionControlElement::is(v); } Type::Enum IfcUnitaryControlElement::type() const { return Type::IfcUnitaryControlElement; } Type::Enum IfcUnitaryControlElement::Class() { return Type::IfcUnitaryControlElement; } IfcUnitaryControlElement::IfcUnitaryControlElement(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryControlElementType IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum IfcUnitaryControlElementType::PredefinedType() const { return IfcUnitaryControlElementTypeEnum::FromString(*entity->getArgument(9)); } -void IfcUnitaryControlElementType::setPredefinedType(IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcUnitaryControlElementTypeEnum::ToString(v)); } +void IfcUnitaryControlElementType::PredefinedType(IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcUnitaryControlElementTypeEnum::ToString(v));; } bool IfcUnitaryControlElementType::is(Type::Enum v) const { return v == Type::IfcUnitaryControlElementType || IfcDistributionControlElementType::is(v); } Type::Enum IfcUnitaryControlElementType::type() const { return Type::IfcUnitaryControlElementType; } Type::Enum IfcUnitaryControlElementType::Class() { return Type::IfcUnitaryControlElementType; } IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryEquipment -bool IfcUnitaryEquipment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipment::PredefinedType() const { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(8)); } -void IfcUnitaryEquipment::setPredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcUnitaryEquipmentTypeEnum::ToString(v)); } +boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > IfcUnitaryEquipment::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcUnitaryEquipmentTypeEnum::FromString(*arg); } } +void IfcUnitaryEquipment::PredefinedType(boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcUnitaryEquipmentTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcUnitaryEquipment::is(Type::Enum v) const { return v == Type::IfcUnitaryEquipment || IfcEnergyConversionDevice::is(v); } Type::Enum IfcUnitaryEquipment::type() const { return Type::IfcUnitaryEquipment; } Type::Enum IfcUnitaryEquipment::Class() { return Type::IfcUnitaryEquipment; } IfcUnitaryEquipment::IfcUnitaryEquipment(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryEquipmentType IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipmentType::PredefinedType() const { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(9)); } -void IfcUnitaryEquipmentType::setPredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcUnitaryEquipmentTypeEnum::ToString(v)); } +void IfcUnitaryEquipmentType::PredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcUnitaryEquipmentTypeEnum::ToString(v));; } bool IfcUnitaryEquipmentType::is(Type::Enum v) const { return v == Type::IfcUnitaryEquipmentType || IfcEnergyConversionDeviceType::is(v); } Type::Enum IfcUnitaryEquipmentType::type() const { return Type::IfcUnitaryEquipmentType; } Type::Enum IfcUnitaryEquipmentType::Class() { return Type::IfcUnitaryEquipmentType; } IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValve -bool IfcValve::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcValveTypeEnum::IfcValveTypeEnum IfcValve::PredefinedType() const { return IfcValveTypeEnum::FromString(*entity->getArgument(8)); } -void IfcValve::setPredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcValveTypeEnum::ToString(v)); } +boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > IfcValve::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcValveTypeEnum::FromString(*arg); } } +void IfcValve::PredefinedType(boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcValveTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcValve::is(Type::Enum v) const { return v == Type::IfcValve || IfcFlowController::is(v); } Type::Enum IfcValve::type() const { return Type::IfcValve; } Type::Enum IfcValve::Class() { return Type::IfcValve; } IfcValve::IfcValve(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValve::IfcValve(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcValveTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcValve::IfcValve(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcValveTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValveType IfcValveTypeEnum::IfcValveTypeEnum IfcValveType::PredefinedType() const { return IfcValveTypeEnum::FromString(*entity->getArgument(9)); } -void IfcValveType::setPredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcValveTypeEnum::ToString(v)); } +void IfcValveType::PredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcValveTypeEnum::ToString(v));; } bool IfcValveType::is(Type::Enum v) const { return v == Type::IfcValveType || IfcFlowControllerType::is(v); } Type::Enum IfcValveType::type() const { return Type::IfcValveType; } Type::Enum IfcValveType::Class() { return Type::IfcValveType; } IfcValveType::IfcValveType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValveType::IfcValveType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcValveType::IfcValveType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVector IfcDirection* IfcVector::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcVector::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcVector::Orientation(IfcDirection* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } double IfcVector::Magnitude() const { return *entity->getArgument(1); } -void IfcVector::setMagnitude(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcVector::Magnitude(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcVector::is(Type::Enum v) const { return v == Type::IfcVector || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcVector::type() const { return Type::IfcVector; } Type::Enum IfcVector::Class() { return Type::IfcVector; } @@ -16669,7 +15903,7 @@ IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) // Function implementations for IfcVertexLoop IfcVertex* IfcVertexLoop::LoopVertex() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcVertexLoop::setLoopVertex(IfcVertex* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcVertexLoop::LoopVertex(IfcVertex* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcVertexLoop::is(Type::Enum v) const { return v == Type::IfcVertexLoop || IfcLoop::is(v); } Type::Enum IfcVertexLoop::type() const { return Type::IfcVertexLoop; } Type::Enum IfcVertexLoop::Class() { return Type::IfcVertexLoop; } @@ -16678,7 +15912,7 @@ IfcVertexLoop::IfcVertexLoop(IfcVertex* v1_LoopVertex) : IfcLoop((IfcAbstractEnt // Function implementations for IfcVertexPoint IfcPoint* IfcVertexPoint::VertexGeometry() const { return (IfcPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } -void IfcVertexPoint::setVertexGeometry(IfcPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +void IfcVertexPoint::VertexGeometry(IfcPoint* v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v); } bool IfcVertexPoint::is(Type::Enum v) const { return v == Type::IfcVertexPoint || IfcVertex::is(v); } Type::Enum IfcVertexPoint::type() const { return Type::IfcVertexPoint; } Type::Enum IfcVertexPoint::Class() { return Type::IfcVertexPoint; } @@ -16686,36 +15920,35 @@ IfcVertexPoint::IfcVertexPoint(IfcAbstractEntity* e) : IfcVertex((IfcAbstractEnt IfcVertexPoint::IfcVertexPoint(IfcPoint* v1_VertexGeometry) : IfcVertex((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VertexGeometry)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVibrationIsolator -bool IfcVibrationIsolator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolator::PredefinedType() const { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(8)); } -void IfcVibrationIsolator::setPredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcVibrationIsolatorTypeEnum::ToString(v)); } +boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > IfcVibrationIsolator::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcVibrationIsolatorTypeEnum::FromString(*arg); } } +void IfcVibrationIsolator::PredefinedType(boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcVibrationIsolatorTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcVibrationIsolator::is(Type::Enum v) const { return v == Type::IfcVibrationIsolator || IfcElementComponent::is(v); } Type::Enum IfcVibrationIsolator::type() const { return Type::IfcVibrationIsolator; } Type::Enum IfcVibrationIsolator::Class() { return Type::IfcVibrationIsolator; } IfcVibrationIsolator::IfcVibrationIsolator(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVibrationIsolatorType IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolatorType::PredefinedType() const { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(9)); } -void IfcVibrationIsolatorType::setPredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcVibrationIsolatorTypeEnum::ToString(v)); } +void IfcVibrationIsolatorType::PredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcVibrationIsolatorTypeEnum::ToString(v));; } bool IfcVibrationIsolatorType::is(Type::Enum v) const { return v == Type::IfcVibrationIsolatorType || IfcElementComponentType::is(v); } Type::Enum IfcVibrationIsolatorType::type() const { return Type::IfcVibrationIsolatorType; } Type::Enum IfcVibrationIsolatorType::Class() { return Type::IfcVibrationIsolatorType; } IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualElement bool IfcVirtualElement::is(Type::Enum v) const { return v == Type::IfcVirtualElement || IfcElement::is(v); } Type::Enum IfcVirtualElement::type() const { return Type::IfcVirtualElement; } Type::Enum IfcVirtualElement::Class() { return Type::IfcVirtualElement; } IfcVirtualElement::IfcVirtualElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualGridIntersection IfcTemplatedEntityList< IfcGridAxis >::ptr IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +void IfcVirtualGridIntersection::IntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(0,v->generalize());; } std::vector< double > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } -void IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +void IfcVirtualGridIntersection::OffsetDistances(std::vector< double > /*[2:3]*/ v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(1,v); } bool IfcVirtualGridIntersection::is(Type::Enum v) const { return v == Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::type() const { return Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::Class() { return Type::IfcVirtualGridIntersection; } @@ -16723,298 +15956,257 @@ IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntity* e) : I IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVoidingFeature -bool IfcVoidingFeature::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum IfcVoidingFeature::PredefinedType() const { return IfcVoidingFeatureTypeEnum::FromString(*entity->getArgument(8)); } -void IfcVoidingFeature::setPredefinedType(IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcVoidingFeatureTypeEnum::ToString(v)); } +boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > IfcVoidingFeature::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcVoidingFeatureTypeEnum::FromString(*arg); } } +void IfcVoidingFeature::PredefinedType(boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcVoidingFeatureTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcVoidingFeature::is(Type::Enum v) const { return v == Type::IfcVoidingFeature || IfcFeatureElementSubtraction::is(v); } Type::Enum IfcVoidingFeature::type() const { return Type::IfcVoidingFeature; } Type::Enum IfcVoidingFeature::Class() { return Type::IfcVoidingFeature; } IfcVoidingFeature::IfcVoidingFeature(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVoidingFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVoidingFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVoidingFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWall -bool IfcWall::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcWallTypeEnum::IfcWallTypeEnum IfcWall::PredefinedType() const { return IfcWallTypeEnum::FromString(*entity->getArgument(8)); } -void IfcWall::setPredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcWallTypeEnum::ToString(v)); } +boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > IfcWall::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcWallTypeEnum::FromString(*arg); } } +void IfcWall::PredefinedType(boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcWallTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcWall::is(Type::Enum v) const { return v == Type::IfcWall || IfcBuildingElement::is(v); } Type::Enum IfcWall::type() const { return Type::IfcWall; } Type::Enum IfcWall::Class() { return Type::IfcWall; } IfcWall::IfcWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWall::IfcWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWall::IfcWall(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallElementedCase bool IfcWallElementedCase::is(Type::Enum v) const { return v == Type::IfcWallElementedCase || IfcWall::is(v); } Type::Enum IfcWallElementedCase::type() const { return Type::IfcWallElementedCase; } Type::Enum IfcWallElementedCase::Class() { return Type::IfcWallElementedCase; } IfcWallElementedCase::IfcWallElementedCase(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallStandardCase bool IfcWallStandardCase::is(Type::Enum v) const { return v == Type::IfcWallStandardCase || IfcWall::is(v); } Type::Enum IfcWallStandardCase::type() const { return Type::IfcWallStandardCase; } Type::Enum IfcWallStandardCase::Class() { return Type::IfcWallStandardCase; } IfcWallStandardCase::IfcWallStandardCase(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallType IfcWallTypeEnum::IfcWallTypeEnum IfcWallType::PredefinedType() const { return IfcWallTypeEnum::FromString(*entity->getArgument(9)); } -void IfcWallType::setPredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWallTypeEnum::ToString(v)); } +void IfcWallType::PredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWallTypeEnum::ToString(v));; } bool IfcWallType::is(Type::Enum v) const { return v == Type::IfcWallType || IfcBuildingElementType::is(v); } Type::Enum IfcWallType::type() const { return Type::IfcWallType; } Type::Enum IfcWallType::Class() { return Type::IfcWallType; } IfcWallType::IfcWallType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallType::IfcWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcWallType::IfcWallType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminal -bool IfcWasteTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminal::PredefinedType() const { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(8)); } -void IfcWasteTerminal::setPredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcWasteTerminalTypeEnum::ToString(v)); } +boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > IfcWasteTerminal::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcWasteTerminalTypeEnum::FromString(*arg); } } +void IfcWasteTerminal::PredefinedType(boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcWasteTerminalTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcWasteTerminal::is(Type::Enum v) const { return v == Type::IfcWasteTerminal || IfcFlowTerminal::is(v); } Type::Enum IfcWasteTerminal::type() const { return Type::IfcWasteTerminal; } Type::Enum IfcWasteTerminal::Class() { return Type::IfcWasteTerminal; } IfcWasteTerminal::IfcWasteTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWasteTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWasteTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminalType IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalType::PredefinedType() const { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(9)); } -void IfcWasteTerminalType::setPredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWasteTerminalTypeEnum::ToString(v)); } +void IfcWasteTerminalType::PredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWasteTerminalTypeEnum::ToString(v));; } bool IfcWasteTerminalType::is(Type::Enum v) const { return v == Type::IfcWasteTerminalType || IfcFlowTerminalType::is(v); } Type::Enum IfcWasteTerminalType::type() const { return Type::IfcWasteTerminalType; } Type::Enum IfcWasteTerminalType::Class() { return Type::IfcWasteTerminalType; } IfcWasteTerminalType::IfcWasteTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindow -bool IfcWindow::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -double IfcWindow::OverallHeight() const { return *entity->getArgument(8); } -void IfcWindow::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindow::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -double IfcWindow::OverallWidth() const { return *entity->getArgument(9); } -void IfcWindow::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWindow::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } -IfcWindowTypeEnum::IfcWindowTypeEnum IfcWindow::PredefinedType() const { return IfcWindowTypeEnum::FromString(*entity->getArgument(10)); } -void IfcWindow::setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcWindowTypeEnum::ToString(v)); } -bool IfcWindow::hasPartitioningType() const { return !entity->getArgument(11)->isNull(); } -IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum IfcWindow::PartitioningType() const { return IfcWindowTypePartitioningEnum::FromString(*entity->getArgument(11)); } -void IfcWindow::setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcWindowTypePartitioningEnum::ToString(v)); } -bool IfcWindow::hasUserDefinedPartitioningType() const { return !entity->getArgument(12)->isNull(); } -std::string IfcWindow::UserDefinedPartitioningType() const { return *entity->getArgument(12); } -void IfcWindow::setUserDefinedPartitioningType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +boost::optional< double > IfcWindow::OverallHeight() const { return *entity->getArgument(8); } +void IfcWindow::OverallHeight(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcWindow::OverallWidth() const { return *entity->getArgument(9); } +void IfcWindow::OverallWidth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > IfcWindow::PredefinedType() const { Argument* arg = entity->getArgument(10); if (arg->isNull()) { return boost::none; } else { return IfcWindowTypeEnum::FromString(*arg); } } +void IfcWindow::PredefinedType(boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v,IfcWindowTypeEnum::ToString(*v));; } else { w->setArgument(10); } } +boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > IfcWindow::PartitioningType() const { Argument* arg = entity->getArgument(11); if (arg->isNull()) { return boost::none; } else { return IfcWindowTypePartitioningEnum::FromString(*arg); } } +void IfcWindow::PartitioningType(boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v,IfcWindowTypePartitioningEnum::ToString(*v));; } else { w->setArgument(11); } } +boost::optional< std::string > IfcWindow::UserDefinedPartitioningType() const { return *entity->getArgument(12); } +void IfcWindow::UserDefinedPartitioningType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcWindow::is(Type::Enum v) const { return v == Type::IfcWindow || IfcBuildingElement::is(v); } Type::Enum IfcWindow::type() const { return Type::IfcWindow; } Type::Enum IfcWindow::Class() { return Type::IfcWindow; } IfcWindow::IfcWindow(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindow::IfcWindow(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWindow::IfcWindow(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowLiningProperties -bool IfcWindowLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -double IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcWindowLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWindowLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -double IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcWindowLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcWindowLiningProperties::hasTransomThickness() const { return !entity->getArgument(6)->isNull(); } -double IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } -void IfcWindowLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowLiningProperties::hasMullionThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } -void IfcWindowLiningProperties::setMullionThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowLiningProperties::hasFirstTransomOffset() const { return !entity->getArgument(8)->isNull(); } -double IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } -void IfcWindowLiningProperties::setFirstTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindowLiningProperties::hasSecondTransomOffset() const { return !entity->getArgument(9)->isNull(); } -double IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } -void IfcWindowLiningProperties::setSecondTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWindowLiningProperties::hasFirstMullionOffset() const { return !entity->getArgument(10)->isNull(); } -double IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } -void IfcWindowLiningProperties::setFirstMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcWindowLiningProperties::hasSecondMullionOffset() const { return !entity->getArgument(11)->isNull(); } -double IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } -void IfcWindowLiningProperties::setSecondMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWindowLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(12)->isNull(); } -IfcShapeAspect* IfcWindowLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } -void IfcWindowLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcWindowLiningProperties::hasLiningOffset() const { return !entity->getArgument(13)->isNull(); } -double IfcWindowLiningProperties::LiningOffset() const { return *entity->getArgument(13); } -void IfcWindowLiningProperties::setLiningOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcWindowLiningProperties::hasLiningToPanelOffsetX() const { return !entity->getArgument(14)->isNull(); } -double IfcWindowLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(14); } -void IfcWindowLiningProperties::setLiningToPanelOffsetX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcWindowLiningProperties::hasLiningToPanelOffsetY() const { return !entity->getArgument(15)->isNull(); } -double IfcWindowLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(15); } -void IfcWindowLiningProperties::setLiningToPanelOffsetY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +boost::optional< double > IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcWindowLiningProperties::LiningDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< double > IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcWindowLiningProperties::LiningThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } +boost::optional< double > IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } +void IfcWindowLiningProperties::TransomThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } +void IfcWindowLiningProperties::MullionThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } +void IfcWindowLiningProperties::FirstTransomOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< double > IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } +void IfcWindowLiningProperties::SecondTransomOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< double > IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } +void IfcWindowLiningProperties::FirstMullionOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } +boost::optional< double > IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } +void IfcWindowLiningProperties::SecondMullionOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< IfcShapeAspect* > IfcWindowLiningProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(12); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcWindowLiningProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } +boost::optional< double > IfcWindowLiningProperties::LiningOffset() const { return *entity->getArgument(13); } +void IfcWindowLiningProperties::LiningOffset(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v); } else { w->setArgument(13); } } +boost::optional< double > IfcWindowLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(14); } +void IfcWindowLiningProperties::LiningToPanelOffsetX(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(14,*v); } else { w->setArgument(14); } } +boost::optional< double > IfcWindowLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(15); } +void IfcWindowLiningProperties::LiningToPanelOffsetY(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(15,*v); } else { w->setArgument(15); } } bool IfcWindowLiningProperties::is(Type::Enum v) const { return v == Type::IfcWindowLiningProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcWindowLiningProperties::type() const { return Type::IfcWindowLiningProperties; } Type::Enum IfcWindowLiningProperties::Class() { return Type::IfcWindowLiningProperties; } IfcWindowLiningProperties::IfcWindowLiningProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); if (v14_LiningOffset) { e->setArgument(13,(*v14_LiningOffset)); } else { e->setArgument(13); } if (v15_LiningToPanelOffsetX) { e->setArgument(14,(*v15_LiningToPanelOffsetX)); } else { e->setArgument(14); } if (v16_LiningToPanelOffsetY) { e->setArgument(15,(*v16_LiningToPanelOffsetY)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } +IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, boost::optional< IfcShapeAspect* > v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } if (v13_ShapeAspectStyle) { e->setArgument(12,(*v13_ShapeAspectStyle)); } else { e->setArgument(12); } if (v14_LiningOffset) { e->setArgument(13,(*v14_LiningOffset)); } else { e->setArgument(13); } if (v15_LiningToPanelOffsetX) { e->setArgument(14,(*v15_LiningToPanelOffsetX)); } else { e->setArgument(14); } if (v16_LiningToPanelOffsetY) { e->setArgument(15,(*v16_LiningToPanelOffsetY)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowPanelProperties IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelProperties::OperationType() const { return IfcWindowPanelOperationEnum::FromString(*entity->getArgument(4)); } -void IfcWindowPanelProperties::setOperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcWindowPanelOperationEnum::ToString(v)); } +void IfcWindowPanelProperties::OperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v,IfcWindowPanelOperationEnum::ToString(v));; } IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } -void IfcWindowPanelProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } -bool IfcWindowPanelProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -double IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcWindowPanelProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowPanelProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -double IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcWindowPanelProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcWindowPanelProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } -void IfcWindowPanelProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcWindowPanelProperties::PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v));; } +boost::optional< double > IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcWindowPanelProperties::FrameDepth(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,*v); } else { w->setArgument(6); } } +boost::optional< double > IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcWindowPanelProperties::FrameThickness(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< IfcShapeAspect* > IfcWindowPanelProperties::ShapeAspectStyle() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcWindowPanelProperties::ShapeAspectStyle(boost::optional< IfcShapeAspect* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcWindowPanelProperties::is(Type::Enum v) const { return v == Type::IfcWindowPanelProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcWindowPanelProperties::type() const { return Type::IfcWindowPanelProperties; } Type::Enum IfcWindowPanelProperties::Class() { return Type::IfcWindowPanelProperties; } IfcWindowPanelProperties::IfcWindowPanelProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } if (v9_ShapeAspectStyle) { e->setArgument(8,(*v9_ShapeAspectStyle)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStandardCase bool IfcWindowStandardCase::is(Type::Enum v) const { return v == Type::IfcWindowStandardCase || IfcWindow::is(v); } Type::Enum IfcWindowStandardCase::type() const { return Type::IfcWindowStandardCase; } Type::Enum IfcWindowStandardCase::Class() { return Type::IfcWindowStandardCase; } IfcWindowStandardCase::IfcWindowStandardCase(IfcAbstractEntity* e) : IfcWindow((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ObjectPlacement) { e->setArgument(5,(*v6_ObjectPlacement)); } else { e->setArgument(5); } if (v7_Representation) { e->setArgument(6,(*v7_Representation)); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStyle IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyle::ConstructionType() const { return IfcWindowStyleConstructionEnum::FromString(*entity->getArgument(8)); } -void IfcWindowStyle::setConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcWindowStyleConstructionEnum::ToString(v)); } +void IfcWindowStyle::ConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(8,v,IfcWindowStyleConstructionEnum::ToString(v));; } IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum IfcWindowStyle::OperationType() const { return IfcWindowStyleOperationEnum::FromString(*entity->getArgument(9)); } -void IfcWindowStyle::setOperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWindowStyleOperationEnum::ToString(v)); } +void IfcWindowStyle::OperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWindowStyleOperationEnum::ToString(v));; } bool IfcWindowStyle::ParameterTakesPrecedence() const { return *entity->getArgument(10); } -void IfcWindowStyle::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcWindowStyle::ParameterTakesPrecedence(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v); } bool IfcWindowStyle::Sizeable() const { return *entity->getArgument(11); } -void IfcWindowStyle::setSizeable(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +void IfcWindowStyle::Sizeable(bool v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } bool IfcWindowStyle::is(Type::Enum v) const { return v == Type::IfcWindowStyle || IfcTypeProduct::is(v); } Type::Enum IfcWindowStyle::type() const { return Type::IfcWindowStyle; } Type::Enum IfcWindowStyle::Class() { return Type::IfcWindowStyle; } IfcWindowStyle::IfcWindowStyle(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } +IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowType IfcWindowTypeEnum::IfcWindowTypeEnum IfcWindowType::PredefinedType() const { return IfcWindowTypeEnum::FromString(*entity->getArgument(9)); } -void IfcWindowType::setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcWindowTypeEnum::ToString(v)); } +void IfcWindowType::PredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(9,v,IfcWindowTypeEnum::ToString(v));; } IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum IfcWindowType::PartitioningType() const { return IfcWindowTypePartitioningEnum::FromString(*entity->getArgument(10)); } -void IfcWindowType::setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcWindowTypePartitioningEnum::ToString(v)); } -bool IfcWindowType::hasParameterTakesPrecedence() const { return !entity->getArgument(11)->isNull(); } -bool IfcWindowType::ParameterTakesPrecedence() const { return *entity->getArgument(11); } -void IfcWindowType::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWindowType::hasUserDefinedPartitioningType() const { return !entity->getArgument(12)->isNull(); } -std::string IfcWindowType::UserDefinedPartitioningType() const { return *entity->getArgument(12); } -void IfcWindowType::setUserDefinedPartitioningType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcWindowType::PartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(10,v,IfcWindowTypePartitioningEnum::ToString(v));; } +boost::optional< bool > IfcWindowType::ParameterTakesPrecedence() const { return *entity->getArgument(11); } +void IfcWindowType::ParameterTakesPrecedence(boost::optional< bool > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(11,*v); } else { w->setArgument(11); } } +boost::optional< std::string > IfcWindowType::UserDefinedPartitioningType() const { return *entity->getArgument(12); } +void IfcWindowType::UserDefinedPartitioningType(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcWindowType::is(Type::Enum v) const { return v == Type::IfcWindowType || IfcBuildingElementType::is(v); } Type::Enum IfcWindowType::type() const { return Type::IfcWindowType; } Type::Enum IfcWindowType::Class() { return Type::IfcWindowType; } IfcWindowType::IfcWindowType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowType::IfcWindowType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWindowTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_PartitioningType,IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWindowType::IfcWindowType(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWindowTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_PartitioningType,IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkCalendar -bool IfcWorkCalendar::hasWorkingTimes() const { return !entity->getArgument(6)->isNull(); } -IfcTemplatedEntityList< IfcWorkTime >::ptr IfcWorkCalendar::WorkingTimes() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } -void IfcWorkCalendar::setWorkingTimes(IfcTemplatedEntityList< IfcWorkTime >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcWorkCalendar::hasExceptionTimes() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcWorkTime >::ptr IfcWorkCalendar::ExceptionTimes() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcWorkCalendar::setExceptionTimes(IfcTemplatedEntityList< IfcWorkTime >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcWorkCalendar::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } -IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum IfcWorkCalendar::PredefinedType() const { return IfcWorkCalendarTypeEnum::FromString(*entity->getArgument(8)); } -void IfcWorkCalendar::setPredefinedType(IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcWorkCalendarTypeEnum::ToString(v)); } +boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > IfcWorkCalendar::WorkingTimes() const { Argument* arg = entity->getArgument(6); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcWorkCalendar::WorkingTimes(boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(6,(*v)->generalize());; } else { w->setArgument(6); } } +boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > IfcWorkCalendar::ExceptionTimes() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcWorkCalendar::ExceptionTimes(boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > IfcWorkCalendar::PredefinedType() const { Argument* arg = entity->getArgument(8); if (arg->isNull()) { return boost::none; } else { return IfcWorkCalendarTypeEnum::FromString(*arg); } } +void IfcWorkCalendar::PredefinedType(boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v,IfcWorkCalendarTypeEnum::ToString(*v));; } else { w->setArgument(8); } } bool IfcWorkCalendar::is(Type::Enum v) const { return v == Type::IfcWorkCalendar || IfcControl::is(v); } Type::Enum IfcWorkCalendar::type() const { return Type::IfcWorkCalendar; } Type::Enum IfcWorkCalendar::Class() { return Type::IfcWorkCalendar; } IfcWorkCalendar::IfcWorkCalendar(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkCalendar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_WorkingTimes) { e->setArgument(6,(*v7_WorkingTimes)->generalize()); } else { e->setArgument(6); } if (v8_ExceptionTimes) { e->setArgument(7,(*v8_ExceptionTimes)->generalize()); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_WorkingTimes) { e->setArgument(6,(*v7_WorkingTimes)->generalize()); } else { e->setArgument(6); } if (v8_ExceptionTimes) { e->setArgument(7,(*v8_ExceptionTimes)->generalize()); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkControl std::string IfcWorkControl::CreationDate() const { return *entity->getArgument(6); } -void IfcWorkControl::setCreationDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWorkControl::hasCreators() const { return !entity->getArgument(7)->isNull(); } -IfcTemplatedEntityList< IfcPerson >::ptr IfcWorkControl::Creators() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcWorkControl::setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcWorkControl::hasPurpose() const { return !entity->getArgument(8)->isNull(); } -std::string IfcWorkControl::Purpose() const { return *entity->getArgument(8); } -void IfcWorkControl::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWorkControl::hasDuration() const { return !entity->getArgument(9)->isNull(); } -std::string IfcWorkControl::Duration() const { return *entity->getArgument(9); } -void IfcWorkControl::setDuration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWorkControl::hasTotalFloat() const { return !entity->getArgument(10)->isNull(); } -std::string IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } -void IfcWorkControl::setTotalFloat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +void IfcWorkControl::CreationDate(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > IfcWorkControl::Creators() const { Argument* arg = entity->getArgument(7); if (arg->isNull()) { return boost::none; } else { IfcEntityList::ptr es = *arg; return es->as(); } } +void IfcWorkControl::Creators(boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,(*v)->generalize());; } else { w->setArgument(7); } } +boost::optional< std::string > IfcWorkControl::Purpose() const { return *entity->getArgument(8); } +void IfcWorkControl::Purpose(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } +boost::optional< std::string > IfcWorkControl::Duration() const { return *entity->getArgument(9); } +void IfcWorkControl::Duration(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(9,*v); } else { w->setArgument(9); } } +boost::optional< std::string > IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } +void IfcWorkControl::TotalFloat(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(10,*v); } else { w->setArgument(10); } } std::string IfcWorkControl::StartTime() const { return *entity->getArgument(11); } -void IfcWorkControl::setStartTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWorkControl::hasFinishTime() const { return !entity->getArgument(12)->isNull(); } -std::string IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } -void IfcWorkControl::setFinishTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +void IfcWorkControl::StartTime(std::string v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(11,v); } +boost::optional< std::string > IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } +void IfcWorkControl::FinishTime(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(12,*v); } else { w->setArgument(12); } } bool IfcWorkControl::is(Type::Enum v) const { return v == Type::IfcWorkControl || IfcControl::is(v); } Type::Enum IfcWorkControl::type() const { return Type::IfcWorkControl; } Type::Enum IfcWorkControl::Class() { return Type::IfcWorkControl; } IfcWorkControl::IfcWorkControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkPlan -bool IfcWorkPlan::hasPredefinedType() const { return !entity->getArgument(13)->isNull(); } -IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum IfcWorkPlan::PredefinedType() const { return IfcWorkPlanTypeEnum::FromString(*entity->getArgument(13)); } -void IfcWorkPlan::setPredefinedType(IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcWorkPlanTypeEnum::ToString(v)); } +boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > IfcWorkPlan::PredefinedType() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return IfcWorkPlanTypeEnum::FromString(*arg); } } +void IfcWorkPlan::PredefinedType(boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v,IfcWorkPlanTypeEnum::ToString(*v));; } else { w->setArgument(13); } } bool IfcWorkPlan::is(Type::Enum v) const { return v == Type::IfcWorkPlan || IfcWorkControl::is(v); } Type::Enum IfcWorkPlan::type() const { return Type::IfcWorkPlan; } Type::Enum IfcWorkPlan::Class() { return Type::IfcWorkPlan; } IfcWorkPlan::IfcWorkPlan(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkSchedule -bool IfcWorkSchedule::hasPredefinedType() const { return !entity->getArgument(13)->isNull(); } -IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum IfcWorkSchedule::PredefinedType() const { return IfcWorkScheduleTypeEnum::FromString(*entity->getArgument(13)); } -void IfcWorkSchedule::setPredefinedType(IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcWorkScheduleTypeEnum::ToString(v)); } +boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > IfcWorkSchedule::PredefinedType() const { Argument* arg = entity->getArgument(13); if (arg->isNull()) { return boost::none; } else { return IfcWorkScheduleTypeEnum::FromString(*arg); } } +void IfcWorkSchedule::PredefinedType(boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(13,*v,IfcWorkScheduleTypeEnum::ToString(*v));; } else { w->setArgument(13); } } bool IfcWorkSchedule::is(Type::Enum v) const { return v == Type::IfcWorkSchedule || IfcWorkControl::is(v); } Type::Enum IfcWorkSchedule::type() const { return Type::IfcWorkSchedule; } Type::Enum IfcWorkSchedule::Class() { return Type::IfcWorkSchedule; } IfcWorkSchedule::IfcWorkSchedule(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkTime -bool IfcWorkTime::hasRecurrencePattern() const { return !entity->getArgument(3)->isNull(); } -IfcRecurrencePattern* IfcWorkTime::RecurrencePattern() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } -void IfcWorkTime::setRecurrencePattern(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcWorkTime::hasStart() const { return !entity->getArgument(4)->isNull(); } -std::string IfcWorkTime::Start() const { return *entity->getArgument(4); } -void IfcWorkTime::setStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWorkTime::hasFinish() const { return !entity->getArgument(5)->isNull(); } -std::string IfcWorkTime::Finish() const { return *entity->getArgument(5); } -void IfcWorkTime::setFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< IfcRecurrencePattern* > IfcWorkTime::RecurrencePattern() const { Argument* arg = entity->getArgument(3); if (arg->isNull()) { return boost::none; } else { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*arg)); } } +void IfcWorkTime::RecurrencePattern(boost::optional< IfcRecurrencePattern* > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(3,*v); } else { w->setArgument(3); } } +boost::optional< std::string > IfcWorkTime::Start() const { return *entity->getArgument(4); } +void IfcWorkTime::Start(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(4,*v); } else { w->setArgument(4); } } +boost::optional< std::string > IfcWorkTime::Finish() const { return *entity->getArgument(5); } +void IfcWorkTime::Finish(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcWorkTime::is(Type::Enum v) const { return v == Type::IfcWorkTime || IfcSchedulingTime::is(v); } Type::Enum IfcWorkTime::type() const { return Type::IfcWorkTime; } Type::Enum IfcWorkTime::Class() { return Type::IfcWorkTime; } IfcWorkTime::IfcWorkTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_RecurrencePattern)); if (v5_Start) { e->setArgument(4,(*v5_Start)); } else { e->setArgument(4); } if (v6_Finish) { e->setArgument(5,(*v6_Finish)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcRecurrencePattern* > v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_RecurrencePattern) { e->setArgument(3,(*v4_RecurrencePattern)); } else { e->setArgument(3); } if (v5_Start) { e->setArgument(4,(*v5_Start)); } else { e->setArgument(4); } if (v6_Finish) { e->setArgument(5,(*v6_Finish)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZShapeProfileDef double IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcZShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +void IfcZShapeProfileDef::Depth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(3,v); } double IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcZShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +void IfcZShapeProfileDef::FlangeWidth(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(4,v); } double IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcZShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +void IfcZShapeProfileDef::WebThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(5,v); } double IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcZShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcZShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -double IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcZShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcZShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -double IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcZShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +void IfcZShapeProfileDef::FlangeThickness(double v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } w->setArgument(6,v); } +boost::optional< double > IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcZShapeProfileDef::FilletRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(7,*v); } else { w->setArgument(7); } } +boost::optional< double > IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcZShapeProfileDef::EdgeRadius(boost::optional< double > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(8,*v); } else { w->setArgument(8); } } bool IfcZShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcZShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcZShapeProfileDef::type() const { return Type::IfcZShapeProfileDef; } Type::Enum IfcZShapeProfileDef::Class() { return Type::IfcZShapeProfileDef; } IfcZShapeProfileDef::IfcZShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } if (v3_Position) { e->setArgument(2,(*v3_Position)); } else { e->setArgument(2); } e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZone -bool IfcZone::hasLongName() const { return !entity->getArgument(5)->isNull(); } -std::string IfcZone::LongName() const { return *entity->getArgument(5); } -void IfcZone::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +boost::optional< std::string > IfcZone::LongName() const { return *entity->getArgument(5); } +void IfcZone::LongName(boost::optional< std::string > v) { IfcWritableEntity* w = entity->isWritable(); if (!w) { entity = w = new IfcWritableEntity(entity); } if (v) { w->setArgument(5,*v); } else { w->setArgument(5); } } bool IfcZone::is(Type::Enum v) const { return v == Type::IfcZone || IfcSystem::is(v); } Type::Enum IfcZone::type() const { return Type::IfcZone; } Type::Enum IfcZone::Class() { return Type::IfcZone; } IfcZone::IfcZone(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZone::IfcZone(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcZone::IfcZone(std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); if (v2_OwnerHistory) { e->setArgument(1,(*v2_OwnerHistory)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } #endif diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 0a3392e687..15ab805406 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -8129,20 +8129,16 @@ public: /// The name of the role played by an actor. If the Role has value USERDEFINED, then /// the user defined role shall be provided as a value of the attribute UserDefinedRole. IfcRoleEnum::IfcRoleEnum Role() const; - void setRole(IfcRoleEnum::IfcRoleEnum v); - /// Whether the optional attribute UserDefinedRole is defined for this IfcActorRole - bool hasUserDefinedRole() const; + void Role(IfcRoleEnum::IfcRoleEnum v); /// Allows for specification of user defined roles beyond the /// enumeration values provided by Role attribute of type IfcRoleEnum. /// When a value is provided for attribute UserDefinedRole in parallel /// the attribute Role shall have enumeration value USERDEFINED. - std::string UserDefinedRole() const; - void setUserDefinedRole(std::string v); - /// Whether the optional attribute Description is defined for this IfcActorRole - bool hasDescription() const; + boost::optional< std::string > UserDefinedRole() const; + void UserDefinedRole(boost::optional< std::string > v); /// A textual description relating the nature of the role played by an actor. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRoleEnum; case 1: return Type::IfcLabel; case 2: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -8163,24 +8159,18 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IfcAddress : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Purpose is defined for this IfcAddress - bool hasPurpose() const; /// Identifies the logical location of the address. - IfcAddressTypeEnum::IfcAddressTypeEnum Purpose() const; - void setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v); - /// Whether the optional attribute Description is defined for this IfcAddress - bool hasDescription() const; + boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > Purpose() const; + void Purpose(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v); /// Text that relates the nature of the address. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress - bool hasUserDefinedPurpose() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - std::string UserDefinedPurpose() const; - void setUserDefinedPurpose(std::string v); + boost::optional< std::string > UserDefinedPurpose() const; + void UserDefinedPurpose(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAddressTypeEnum; case 1: return Type::IfcText; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8202,16 +8192,16 @@ class IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. IfcOrganization* ApplicationDeveloper() const; - void setApplicationDeveloper(IfcOrganization* v); + void ApplicationDeveloper(IfcOrganization* v); /// The version number of this software as specified by the developer of the application. std::string Version() const; - void setVersion(std::string v); + void Version(std::string v); /// The full name of the application as specified by the application developer. std::string ApplicationFullName() const; - void setApplicationFullName(std::string v); + void ApplicationFullName(std::string v); /// Short identifying name for the application. std::string ApplicationIdentifier() const; - void setApplicationIdentifier(std::string v); + void ApplicationIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOrganization; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcException("argument out of range"); } @@ -8240,60 +8230,40 @@ public: /// Applied values may be referenced from a document (such as a price list). The relationship between one or more occurrences of IfcAppliedValue (or its subtypes) is achieved through the use of the IfcExternalReferenceRelationship in which the document provides the IfcExternalReferenceRelationship.RelatingExtReference and the value occurrences are the IfcExternalReferenceRelationship.RelatedResourceObjects. class IfcAppliedValue : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcAppliedValue - bool hasName() const; /// A name or additional clarification given to a cost value. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcAppliedValue - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The description that may apply additional information about a cost value. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue - bool hasAppliedValue() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The extent or quantity or amount of an applied value. - IfcAppliedValueSelect* AppliedValue() const; - void setAppliedValue(IfcAppliedValueSelect* v); - /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue - bool hasUnitBasis() const; + boost::optional< IfcAppliedValueSelect* > AppliedValue() const; + void AppliedValue(boost::optional< IfcAppliedValueSelect* > v); /// The number and unit of measure on which the unit cost is based. /// /// Note: As well as the normally expected units of measure such as length, area, volume etc., costs may be based on units of measure which need to be defined e.g. sack, drum, pallet, item etc. Unit costs may be based on quantities greater (or lesser) than a unitary value of the basis measure. For instance, timber may have a unit cost rate per X meters where X > 1; similarly for cable, piping and many other items. The basis number may be either an integer or a real value. /// /// Note: This attribute should be asserted for all circumstances where the cost to be applied is per unit quantity. It may be asserted even for circumstances where an item price is used, in which case the unit cost basis should be by item (or equivalent definition). - IfcMeasureWithUnit* UnitBasis() const; - void setUnitBasis(IfcMeasureWithUnit* v); - /// Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue - bool hasApplicableDate() const; + boost::optional< IfcMeasureWithUnit* > UnitBasis() const; + void UnitBasis(boost::optional< IfcMeasureWithUnit* > v); /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string ApplicableDate() const; - void setApplicableDate(std::string v); - /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue - bool hasFixedUntilDate() const; + boost::optional< std::string > ApplicableDate() const; + void ApplicableDate(boost::optional< std::string > v); /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string FixedUntilDate() const; - void setFixedUntilDate(std::string v); - /// Whether the optional attribute Category is defined for this IfcAppliedValue - bool hasCategory() const; - std::string Category() const; - void setCategory(std::string v); - /// Whether the optional attribute Condition is defined for this IfcAppliedValue - bool hasCondition() const; - std::string Condition() const; - void setCondition(std::string v); - /// Whether the optional attribute ArithmeticOperator is defined for this IfcAppliedValue - bool hasArithmeticOperator() const; - IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator() const; - void setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v); - /// Whether the optional attribute Components is defined for this IfcAppliedValue - bool hasComponents() const; - IfcTemplatedEntityList< IfcAppliedValue >::ptr Components() const; - void setComponents(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); + boost::optional< std::string > FixedUntilDate() const; + void FixedUntilDate(boost::optional< std::string > v); + boost::optional< std::string > Category() const; + void Category(boost::optional< std::string > v); + boost::optional< std::string > Condition() const; + void Condition(boost::optional< std::string > v); + boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > ArithmeticOperator() const; + void ArithmeticOperator(boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v); + boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > Components() const; + void Components(boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcAppliedValueSelect; case 3: return Type::IfcMeasureWithUnit; case 4: return Type::IfcDate; case 5: return Type::IfcDate; case 6: return Type::IfcLabel; case 7: return Type::IfcLabel; case 8: return Type::IfcArithmeticOperatorEnum; case 9: return Type::IfcAppliedValue; } throw IfcParse::IfcException("argument out of range"); } @@ -8304,7 +8274,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAppliedValue (IfcAbstractEntity* e); - IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); + IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); typedef IfcTemplatedEntityList< IfcAppliedValue > list; }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship @@ -8314,57 +8284,39 @@ public: /// IFC2x Edition 4 CHANGE  Attributes Identifier and Name made optional, where rule added to require at least one of them being asserted. Inverse attributes ApprovedObjects, ApprovedResources and HasExternalReferences added. Inverse attribute Properties deleted (more general relationship via inverse ApprovedResources to be used instead). class IfcApproval : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identifier is defined for this IfcApproval - bool hasIdentifier() const; /// A computer interpretable identifier by which the approval is known. - std::string Identifier() const; - void setIdentifier(std::string v); - /// Whether the optional attribute Name is defined for this IfcApproval - bool hasName() const; + boost::optional< std::string > Identifier() const; + void Identifier(boost::optional< std::string > v); /// A human readable name given to an approval. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcApproval - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// A general textual description of a design, work task, plan, etc. that is being approved for. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute TimeOfApproval is defined for this IfcApproval - bool hasTimeOfApproval() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Date and time when the result of the approval process is produced. /// /// IFC2x4 CHANGE  Attribute data type changed to IfcDateTime using ISO 8601 representation, renamed from ApprovalDateTime and made OPTIONAL. - std::string TimeOfApproval() const; - void setTimeOfApproval(std::string v); - /// Whether the optional attribute Status is defined for this IfcApproval - bool hasStatus() const; + boost::optional< std::string > TimeOfApproval() const; + void TimeOfApproval(boost::optional< std::string > v); /// The result or current status of the approval, e.g. Requested, Processed, Approved, Not Approved. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute Level is defined for this IfcApproval - bool hasLevel() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// Level of the approval e.g. Draft v.s. Completed design. - std::string Level() const; - void setLevel(std::string v); - /// Whether the optional attribute Qualifier is defined for this IfcApproval - bool hasQualifier() const; + boost::optional< std::string > Level() const; + void Level(boost::optional< std::string > v); /// Textual description of special constraints or conditions for the approval. - std::string Qualifier() const; - void setQualifier(std::string v); - /// Whether the optional attribute RequestingApproval is defined for this IfcApproval - bool hasRequestingApproval() const; + boost::optional< std::string > Qualifier() const; + void Qualifier(boost::optional< std::string > v); /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and requesting an approval. /// /// IFC2x4 CHANGE  New attribute for approval request replacing IfcApprovalActorRelationship (being deleted). - IfcActorSelect* RequestingApproval() const; - void setRequestingApproval(IfcActorSelect* v); - /// Whether the optional attribute GivingApproval is defined for this IfcApproval - bool hasGivingApproval() const; + boost::optional< IfcActorSelect* > RequestingApproval() const; + void RequestingApproval(boost::optional< IfcActorSelect* > v); /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and giving an approval. /// /// IFC2x4 CHANGE  New attribute for approval provision replacing IfcApprovalActorRelationship (being deleted). - IfcActorSelect* GivingApproval() const; - void setGivingApproval(IfcActorSelect* v); + boost::optional< IfcActorSelect* > GivingApproval() const; + void GivingApproval(boost::optional< IfcActorSelect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcDateTime; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcText; case 7: return Type::IfcActorSelect; case 8: return Type::IfcActorSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -8379,7 +8331,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApproval (IfcAbstractEntity* e); - IfcApproval (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, IfcActorSelect* v8_RequestingApproval, IfcActorSelect* v9_GivingApproval); + IfcApproval (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, boost::optional< IfcActorSelect* > v8_RequestingApproval, boost::optional< IfcActorSelect* > v9_GivingApproval); typedef IfcTemplatedEntityList< IfcApproval > list; }; /// Definition @@ -8399,11 +8351,9 @@ public: /// 2. class IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcBoundaryCondition - bool hasName() const; /// Optionally defines a name for this boundary condition. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8428,36 +8378,24 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute TranslationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; - void setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthY() const; + boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > TranslationalStiffnessByLengthX() const; + void TranslationalStiffnessByLengthX(boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v); /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthY() const; - void setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthZ() const; + boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > TranslationalStiffnessByLengthY() const; + void TranslationalStiffnessByLengthY(boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v); /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthZ() const; - void setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect* v); - /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthX() const; + boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > TranslationalStiffnessByLengthZ() const; + void TranslationalStiffnessByLengthZ(boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v); /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthX() const; - void setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect* v); - /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthY() const; + boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > RotationalStiffnessByLengthX() const; + void RotationalStiffnessByLengthX(boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v); /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthY() const; - void setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect* v); - /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthZ() const; + boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > RotationalStiffnessByLengthY() const; + void RotationalStiffnessByLengthY(boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v); /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthZ() const; - void setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect* v); + boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > RotationalStiffnessByLengthZ() const; + void RotationalStiffnessByLengthZ(boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcModulusOfTranslationalSubgradeReactionSelect; case 2: return Type::IfcModulusOfTranslationalSubgradeReactionSelect; case 3: return Type::IfcModulusOfTranslationalSubgradeReactionSelect; case 4: return Type::IfcModulusOfRotationalSubgradeReactionSelect; case 5: return Type::IfcModulusOfRotationalSubgradeReactionSelect; case 6: return Type::IfcModulusOfRotationalSubgradeReactionSelect; } return IfcBoundaryCondition::getArgumentEntity(i); } @@ -8467,7 +8405,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryEdgeCondition (IfcAbstractEntity* e); - IfcBoundaryEdgeCondition (boost::optional< std::string > v1_Name, IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition (boost::optional< std::string > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect* > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect* > v7_RotationalStiffnessByLengthZ); typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -8482,21 +8420,15 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute TranslationalStiffnessByAreaX is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; - void setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByAreaY is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaY() const; + boost::optional< IfcModulusOfSubgradeReactionSelect* > TranslationalStiffnessByAreaX() const; + void TranslationalStiffnessByAreaX(boost::optional< IfcModulusOfSubgradeReactionSelect* > v); /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaY() const; - void setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect* v); - /// Whether the optional attribute TranslationalStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaZ() const; + boost::optional< IfcModulusOfSubgradeReactionSelect* > TranslationalStiffnessByAreaY() const; + void TranslationalStiffnessByAreaY(boost::optional< IfcModulusOfSubgradeReactionSelect* > v); /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaZ() const; - void setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect* v); + boost::optional< IfcModulusOfSubgradeReactionSelect* > TranslationalStiffnessByAreaZ() const; + void TranslationalStiffnessByAreaZ(boost::optional< IfcModulusOfSubgradeReactionSelect* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcModulusOfSubgradeReactionSelect; case 2: return Type::IfcModulusOfSubgradeReactionSelect; case 3: return Type::IfcModulusOfSubgradeReactionSelect; } return IfcBoundaryCondition::getArgumentEntity(i); } @@ -8506,7 +8438,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryFaceCondition (IfcAbstractEntity* e); - IfcBoundaryFaceCondition (boost::optional< std::string > v1_Name, IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition (boost::optional< std::string > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect* > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect* > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect* > v4_TranslationalStiffnessByAreaZ); typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -8521,36 +8453,24 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: - /// Whether the optional attribute TranslationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; - void setTranslationalStiffnessX(IfcTranslationalStiffnessSelect* v); - /// Whether the optional attribute TranslationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessY() const; + boost::optional< IfcTranslationalStiffnessSelect* > TranslationalStiffnessX() const; + void TranslationalStiffnessX(boost::optional< IfcTranslationalStiffnessSelect* > v); /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect* TranslationalStiffnessY() const; - void setTranslationalStiffnessY(IfcTranslationalStiffnessSelect* v); - /// Whether the optional attribute TranslationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessZ() const; + boost::optional< IfcTranslationalStiffnessSelect* > TranslationalStiffnessY() const; + void TranslationalStiffnessY(boost::optional< IfcTranslationalStiffnessSelect* > v); /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect* TranslationalStiffnessZ() const; - void setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect* v); - /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessX() const; + boost::optional< IfcTranslationalStiffnessSelect* > TranslationalStiffnessZ() const; + void TranslationalStiffnessZ(boost::optional< IfcTranslationalStiffnessSelect* > v); /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect* RotationalStiffnessX() const; - void setRotationalStiffnessX(IfcRotationalStiffnessSelect* v); - /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessY() const; + boost::optional< IfcRotationalStiffnessSelect* > RotationalStiffnessX() const; + void RotationalStiffnessX(boost::optional< IfcRotationalStiffnessSelect* > v); /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect* RotationalStiffnessY() const; - void setRotationalStiffnessY(IfcRotationalStiffnessSelect* v); - /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessZ() const; + boost::optional< IfcRotationalStiffnessSelect* > RotationalStiffnessY() const; + void RotationalStiffnessY(boost::optional< IfcRotationalStiffnessSelect* > v); /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect* RotationalStiffnessZ() const; - void setRotationalStiffnessZ(IfcRotationalStiffnessSelect* v); + boost::optional< IfcRotationalStiffnessSelect* > RotationalStiffnessZ() const; + void RotationalStiffnessZ(boost::optional< IfcRotationalStiffnessSelect* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTranslationalStiffnessSelect; case 2: return Type::IfcTranslationalStiffnessSelect; case 3: return Type::IfcTranslationalStiffnessSelect; case 4: return Type::IfcRotationalStiffnessSelect; case 5: return Type::IfcRotationalStiffnessSelect; case 6: return Type::IfcRotationalStiffnessSelect; } return IfcBoundaryCondition::getArgumentEntity(i); } @@ -8560,7 +8480,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryNodeCondition (IfcAbstractEntity* e); - IfcBoundaryNodeCondition (boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition (boost::optional< std::string > v1_Name, boost::optional< IfcTranslationalStiffnessSelect* > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect* > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect* > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect* > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect* > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect* > v7_RotationalStiffnessZ); typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. @@ -8574,11 +8494,9 @@ public: /// IFC 2x4 change: All attribute data types changed from numeric to SELECT between Boolean and numeric. Stiffnesses may now also be negative, for example to capture destabilizing effects in boundary conditions. The IFC 2x3 convention of -1. representing infinite stiffness is no longer valid and must not be used. Infinite stiffness, i.e. fixed supports, are now modeled by the Boolean value TRUE. class IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: - /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping - bool hasWarpingStiffness() const; /// Defines the warping stiffness value. - IfcWarpingStiffnessSelect* WarpingStiffness() const; - void setWarpingStiffness(IfcWarpingStiffnessSelect* v); + boost::optional< IfcWarpingStiffnessSelect* > WarpingStiffness() const; + void WarpingStiffness(boost::optional< IfcWarpingStiffnessSelect* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; } return IfcBoundaryNodeCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcWarpingStiffnessSelect; } return IfcBoundaryNodeCondition::getArgumentEntity(i); } @@ -8588,7 +8506,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryNodeConditionWarping (IfcAbstractEntity* e); - IfcBoundaryNodeConditionWarping (boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, IfcWarpingStiffnessSelect* v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping (boost::optional< std::string > v1_Name, boost::optional< IfcTranslationalStiffnessSelect* > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect* > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect* > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect* > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect* > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect* > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect* > v8_WarpingStiffness); typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > list; }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. @@ -8639,12 +8557,10 @@ class IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. IfcPointOrVertexPoint* PointOnRelatingElement() const; - void setPointOnRelatingElement(IfcPointOrVertexPoint* v); - /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry - bool hasPointOnRelatedElement() const; + void PointOnRelatingElement(IfcPointOrVertexPoint* v); /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcPointOrVertexPoint* PointOnRelatedElement() const; - void setPointOnRelatedElement(IfcPointOrVertexPoint* v); + boost::optional< IfcPointOrVertexPoint* > PointOnRelatedElement() const; + void PointOnRelatedElement(boost::optional< IfcPointOrVertexPoint* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPointOrVertexPoint; case 1: return Type::IfcPointOrVertexPoint; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -8654,7 +8570,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointGeometry (IfcAbstractEntity* e); - IfcConnectionPointGeometry (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement); + IfcConnectionPointGeometry (IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; }; /// IfcConnectionSurfaceGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a surface or at a face with surface geometry associated. It is envisioned as a control that applies to the element connection relationships. @@ -8669,12 +8585,10 @@ class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; - void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v); - /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry - bool hasSurfaceOnRelatedElement() const; + void SurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v); /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcSurfaceOrFaceSurface* SurfaceOnRelatedElement() const; - void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v); + boost::optional< IfcSurfaceOrFaceSurface* > SurfaceOnRelatedElement() const; + void SurfaceOnRelatedElement(boost::optional< IfcSurfaceOrFaceSurface* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurfaceOrFaceSurface; case 1: return Type::IfcSurfaceOrFaceSurface; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -8684,7 +8598,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionSurfaceGeometry (IfcAbstractEntity* e); - IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface* > v2_SurfaceOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > list; }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. @@ -8697,12 +8611,10 @@ class IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. IfcSolidOrShell* VolumeOnRelatingElement() const; - void setVolumeOnRelatingElement(IfcSolidOrShell* v); - /// Whether the optional attribute VolumeOnRelatedElement is defined for this IfcConnectionVolumeGeometry - bool hasVolumeOnRelatedElement() const; + void VolumeOnRelatingElement(IfcSolidOrShell* v); /// Volume at which related object overlaps with the relating element, given in the LCS of the related element. - IfcSolidOrShell* VolumeOnRelatedElement() const; - void setVolumeOnRelatedElement(IfcSolidOrShell* v); + boost::optional< IfcSolidOrShell* > VolumeOnRelatedElement() const; + void VolumeOnRelatedElement(boost::optional< IfcSolidOrShell* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSolidOrShell; case 1: return Type::IfcSolidOrShell; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -8712,7 +8624,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionVolumeGeometry (IfcAbstractEntity* e); - IfcConnectionVolumeGeometry (IfcSolidOrShell* v1_VolumeOnRelatingElement, IfcSolidOrShell* v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry (IfcSolidOrShell* v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell* > v2_VolumeOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionVolumeGeometry > list; }; /// An IfcConstraint is used to define a constraint or limiting value or boundary condition that may be applied to an object or to the value of a property. @@ -8731,38 +8643,28 @@ class IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcConstraint - bool hasDescription() const; + void Name(std::string v); /// A description that may apply additional information about a constraint. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Enumeration that qualifies the type of constraint. IfcConstraintEnum::IfcConstraintEnum ConstraintGrade() const; - void setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); - /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint - bool hasConstraintSource() const; + void ConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); /// Any source material, such as a code or standard, from which the constraint originated. - std::string ConstraintSource() const; - void setConstraintSource(std::string v); - /// Whether the optional attribute CreatingActor is defined for this IfcConstraint - bool hasCreatingActor() const; + boost::optional< std::string > ConstraintSource() const; + void ConstraintSource(boost::optional< std::string > v); /// Person and/or organization that has created the constraint. - IfcActorSelect* CreatingActor() const; - void setCreatingActor(IfcActorSelect* v); - /// Whether the optional attribute CreationTime is defined for this IfcConstraint - bool hasCreationTime() const; + boost::optional< IfcActorSelect* > CreatingActor() const; + void CreatingActor(boost::optional< IfcActorSelect* > v); /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - std::string CreationTime() const; - void setCreationTime(std::string v); - /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint - bool hasUserDefinedGrade() const; + boost::optional< std::string > CreationTime() const; + void CreationTime(boost::optional< std::string > v); /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - std::string UserDefinedGrade() const; - void setUserDefinedGrade(std::string v); + boost::optional< std::string > UserDefinedGrade() const; + void UserDefinedGrade(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcConstraintEnum; case 3: return Type::IfcLabel; case 4: return Type::IfcActorSelect; case 5: return Type::IfcDateTime; case 6: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -8774,7 +8676,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstraint (IfcAbstractEntity* e); - IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); + IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); typedef IfcTemplatedEntityList< IfcConstraint > list; }; /// Definition from OpenGIS® Abstract Specification, @@ -8827,10 +8729,10 @@ class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. IfcCoordinateReferenceSystemSelect* SourceCRS() const; - void setSourceCRS(IfcCoordinateReferenceSystemSelect* v); + void SourceCRS(IfcCoordinateReferenceSystemSelect* v); /// Target coordinate reference system for the operation. IfcCoordinateReferenceSystem* TargetCRS() const; - void setTargetCRS(IfcCoordinateReferenceSystem* v); + void TargetCRS(IfcCoordinateReferenceSystem* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCoordinateReferenceSystemSelect; case 1: return Type::IfcCoordinateReferenceSystem; } throw IfcParse::IfcException("argument out of range"); } @@ -8867,32 +8769,26 @@ public: /// HISTORY  New entity in IFC2x4. class IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcCoordinateReferenceSystem - bool hasName() const; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcCoordinateReferenceSystem - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Informal description of this coordinate reference system. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Name by which this datum is identified. The geodetic datum is associated with the coordinate reference system and indicates the shape and size of the rotation ellipsoid and this ellipsoid's connection and orientation to the actual globe/earth. Examples for geodetic datums include: /// /// ED50 /// EUREF89 /// WSG84 std::string GeodeticDatum() const; - void setGeodeticDatum(std::string v); - /// Whether the optional attribute VerticalDatum is defined for this IfcCoordinateReferenceSystem - bool hasVerticalDatum() const; + void GeodeticDatum(std::string v); /// Name by which the vertical datum is identified. The vertical datum is associated with the height axis of the coordinate reference system and indicates the reference plane and fundamental point defining the origin of a height system. Examples for vertical datums include: /// /// height above mean sea level at Dover in 1952 /// other sea levels - std::string VerticalDatum() const; - void setVerticalDatum(std::string v); + boost::optional< std::string > VerticalDatum() const; + void VerticalDatum(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcIdentifier; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcException("argument out of range"); } @@ -8958,7 +8854,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostValue (IfcAbstractEntity* e); - IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); + IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcAppliedValueSelect* > v3_AppliedValue, boost::optional< IfcMeasureWithUnit* > v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); typedef IfcTemplatedEntityList< IfcCostValue > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. @@ -8972,14 +8868,12 @@ class IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr Elements() const; - void setElements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v); + void Elements(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v); /// Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models. IfcDerivedUnitEnum::IfcDerivedUnitEnum UnitType() const; - void setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); - /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit - bool hasUserDefinedType() const; - std::string UserDefinedType() const; - void setUserDefinedType(std::string v); + void UnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); + boost::optional< std::string > UserDefinedType() const; + void UserDefinedType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDerivedUnitElement; case 1: return Type::IfcDerivedUnitEnum; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -9005,10 +8899,10 @@ class IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. IfcNamedUnit* Unit() const; - void setUnit(IfcNamedUnit* v); + void Unit(IfcNamedUnit* v); /// The power that is applied to the unit attribute. int Exponent() const; - void setExponent(int v); + void Exponent(int v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcNamedUnit; case 1: return Type::UNDEFINED; } throw IfcParse::IfcException("argument out of range"); } @@ -9042,25 +8936,25 @@ class IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. int LengthExponent() const; - void setLengthExponent(int v); + void LengthExponent(int v); /// The power of the mass base quantity. int MassExponent() const; - void setMassExponent(int v); + void MassExponent(int v); /// The power of the time base quantity. int TimeExponent() const; - void setTimeExponent(int v); + void TimeExponent(int v); /// The power of the electric current base quantity. int ElectricCurrentExponent() const; - void setElectricCurrentExponent(int v); + void ElectricCurrentExponent(int v); /// The power of the thermodynamic temperature base quantity. int ThermodynamicTemperatureExponent() const; - void setThermodynamicTemperatureExponent(int v); + void ThermodynamicTemperatureExponent(int v); /// The power of the amount of substance base quantity. int AmountOfSubstanceExponent() const; - void setAmountOfSubstanceExponent(int v); + void AmountOfSubstanceExponent(int v); /// The power of the luminous intensity base quantity. int LuminousIntensityExponent() const; - void setLuminousIntensityExponent(int v); + void LuminousIntensityExponent(int v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_INT; case 3: return IfcUtil::Argument_INT; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::UNDEFINED; case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } throw IfcParse::IfcException("argument out of range"); } @@ -9104,15 +8998,11 @@ public: /// HISTORY New entity in IFC2x. class IfcExternalReference : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Location is defined for this IfcExternalReference - bool hasLocation() const; /// Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. /// /// IFC2x4 CHANGE  The data type has been changed from IfcLabel to IfcURIReference. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute Identification is defined for this IfcExternalReference - bool hasIdentification() const; + boost::optional< std::string > Location() const; + void Location(boost::optional< std::string > v); /// The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as /// /// a key, e.g. a classification notation, like NF2.3 @@ -9122,13 +9012,11 @@ public: /// It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement). /// /// IFC2x4 CHANGE Attribute renamed from ItemReference for consistency. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute Name is defined for this IfcExternalReference - bool hasName() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcURIReference; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -9231,17 +9119,15 @@ public: /// Figure 242 — Grid axis class IfcGridAxis : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute AxisTag is defined for this IfcGridAxis - bool hasAxisTag() const; /// The tag or name for this grid axis. - std::string AxisTag() const; - void setAxisTag(std::string v); + boost::optional< std::string > AxisTag() const; + void AxisTag(boost::optional< std::string > v); /// Underlying curve which provides the geometry for this grid axis. IfcCurve* AxisCurve() const; - void setAxisCurve(IfcCurve* v); + void AxisCurve(IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcCurve; case 2: return Type::IfcBoolean; } throw IfcParse::IfcException("argument out of range"); } @@ -9265,10 +9151,10 @@ class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. std::string TimeStamp() const; - void setTimeStamp(std::string v); + void TimeStamp(std::string v); /// A list of time-series values. At least one value is required. IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); + void ListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDateTime; case 1: return Type::IfcValue; } throw IfcParse::IfcException("argument out of range"); } @@ -9293,35 +9179,25 @@ class IfcLibraryInformation : public IfcExternalInformation { public: /// The name which is used to identify the library. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Version is defined for this IfcLibraryInformation - bool hasVersion() const; + void Name(std::string v); /// Identifier for the library version used for reference. - std::string Version() const; - void setVersion(std::string v); - /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation - bool hasPublisher() const; + boost::optional< std::string > Version() const; + void Version(boost::optional< std::string > v); /// Information of the organization that acts as the library publisher. - IfcActorSelect* Publisher() const; - void setPublisher(IfcActorSelect* v); - /// Whether the optional attribute VersionDate is defined for this IfcLibraryInformation - bool hasVersionDate() const; + boost::optional< IfcActorSelect* > Publisher() const; + void Publisher(boost::optional< IfcActorSelect* > v); /// Date of the referenced version of the library. /// /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. - std::string VersionDate() const; - void setVersionDate(std::string v); - /// Whether the optional attribute Location is defined for this IfcLibraryInformation - bool hasLocation() const; + boost::optional< std::string > VersionDate() const; + void VersionDate(boost::optional< std::string > v); /// Resource identifier or locator, provided as URI, URN or URL, of the library information for online references. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute Description is defined for this IfcLibraryInformation - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Location() const; + void Location(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcExternalInformation::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; case 2: return Type::IfcActorSelect; case 3: return Type::IfcDateTime; case 4: return Type::IfcURIReference; case 5: return Type::IfcText; } return IfcExternalInformation::getArgumentEntity(i); } @@ -9333,7 +9209,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryInformation (IfcAbstractEntity* e); - IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description); + IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, boost::optional< IfcActorSelect* > v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description); typedef IfcTemplatedEntityList< IfcLibraryInformation > list; }; /// An IfcLibraryReference is a reference into a library of information by Location (provided as a URI). It also provides an optional inherited Identification key to allow more specific references to library sections or tables. The inherited Name attribute allows for a human interpretable identification of the library item. Also, general information on the library from which the reference is taken, is given by the ReferencedLibrary relation which identifies the relevant occurrence of IfcLibraryInformation. @@ -9345,25 +9221,19 @@ public: /// IFC2x4 CHANGE  Description and Language attribute added; ReferencedLibrary attribute added (reversing previous ReferenceIntoLibrary inverse relationship). class IfcLibraryReference : public IfcExternalReference { public: - /// Whether the optional attribute Description is defined for this IfcLibraryReference - bool hasDescription() const; /// Additional description provided for the library reference. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Language is defined for this IfcLibraryReference - bool hasLanguage() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The language in which a library reference is expressed. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Language() const; - void setLanguage(std::string v); - /// Whether the optional attribute ReferencedLibrary is defined for this IfcLibraryReference - bool hasReferencedLibrary() const; + boost::optional< std::string > Language() const; + void Language(boost::optional< std::string > v); /// The library information that is being referenced. - IfcLibraryInformation* ReferencedLibrary() const; - void setReferencedLibrary(IfcLibraryInformation* v); + boost::optional< IfcLibraryInformation* > ReferencedLibrary() const; + void ReferencedLibrary(boost::optional< IfcLibraryInformation* > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY; } return IfcExternalReference::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcText; case 4: return Type::IfcLanguageId; case 5: return Type::IfcLibraryInformation; } return IfcExternalReference::getArgumentEntity(i); } @@ -9374,7 +9244,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryReference (IfcAbstractEntity* e); - IfcLibraryReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary); + IfcLibraryReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, boost::optional< IfcLibraryInformation* > v6_ReferencedLibrary); typedef IfcTemplatedEntityList< IfcLibraryReference > list; }; /// IfcLightDistributionData defines the luminous intensity of a light source given at a particular main plane angle. It is based on some standardized light distribution curves; the MainPlaneAngle is either the @@ -9396,15 +9266,15 @@ class IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). double MainPlaneAngle() const; - void setMainPlaneAngle(double v); + void MainPlaneAngle(double v); /// The list of secondary plane angles (the α, β or γ angles) according to the light distribution curve chosen. /// /// NOTE: The SecondaryPlaneAngle and LuminousIntensity lists are corresponding lists. std::vector< double > /*[1:?]*/ SecondaryPlaneAngle() const; - void setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v); + void SecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. std::vector< double > /*[1:?]*/ LuminousIntensity() const; - void setLuminousIntensity(std::vector< double > /*[1:?]*/ v); + void LuminousIntensity(std::vector< double > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPlaneAngleMeasure; case 1: return Type::IfcPlaneAngleMeasure; case 2: return Type::IfcLuminousIntensityDistributionMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -9424,10 +9294,10 @@ class IfcLightIntensityDistribution : public IfcUtil::IfcBaseEntity { public: /// Standardized light distribution curve used to define the luminous intensity of the light in all directions. IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve() const; - void setLightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v); + void LightDistributionCurve(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v); /// Light distribution data applied to the light source. It is defined by a list of main plane angles (B or C according to the light distribution curve chosen) that includes (for each B or C angle) a second list of secondary plane angles (the β or γ angles) and the according luminous intensity distribution measures. IfcTemplatedEntityList< IfcLightDistributionData >::ptr DistributionData() const; - void setDistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v); + void DistributionData(IfcTemplatedEntityList< IfcLightDistributionData >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLightDistributionCurveEnum; case 1: return Type::IfcLightDistributionData; } throw IfcParse::IfcException("argument out of range"); } @@ -9456,34 +9326,28 @@ public: /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis double Eastings() const; - void setEastings(double v); + void Eastings(double v); /// Specifies the location along the northing of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis double Northings() const; - void setNorthings(double v); + void Northings(double v); /// Orthogonal height relativ to the vertical datum specified. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the z axis double OrthogonalHeight() const; - void setOrthogonalHeight(double v); - /// Whether the optional attribute XAxisAbscissa is defined for this IfcMapConversion - bool hasXAxisAbscissa() const; + void OrthogonalHeight(double v); /// Specifies the value along the easing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis /// NOTE  together with the XAxisOrdinate it provides the direction of the local x axis within the horizontal plane of the map coordinate system - double XAxisAbscissa() const; - void setXAxisAbscissa(double v); - /// Whether the optional attribute XAxisOrdinate is defined for this IfcMapConversion - bool hasXAxisOrdinate() const; + boost::optional< double > XAxisAbscissa() const; + void XAxisAbscissa(boost::optional< double > v); /// Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis /// NOTE  together with the XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system - double XAxisOrdinate() const; - void setXAxisOrdinate(double v); - /// Whether the optional attribute Scale is defined for this IfcMapConversion - bool hasScale() const; + boost::optional< double > XAxisOrdinate() const; + void XAxisOrdinate(boost::optional< double > v); /// Scale to be used, when the units of the CRS are not identical to the units of the engineering coordinate system. If omited, the value of 1.0 is assumed. - double Scale() const; - void setScale(double v); + boost::optional< double > Scale() const; + void Scale(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcCoordinateOperation::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcLengthMeasure; case 5: return Type::IfcReal; case 6: return Type::IfcReal; case 7: return Type::IfcReal; } return IfcCoordinateOperation::getArgumentEntity(i); } @@ -9505,10 +9369,10 @@ class IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. IfcEntityList::ptr MaterialClassifications() const; - void setMaterialClassifications(IfcEntityList::ptr v); + void MaterialClassifications(IfcEntityList::ptr v); /// Material being classified. IfcMaterial* ClassifiedMaterial() const; - void setClassifiedMaterial(IfcMaterial* v); + void ClassifiedMaterial(IfcMaterial* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClassificationSelect; case 1: return Type::IfcMaterial; } throw IfcParse::IfcException("argument out of range"); } @@ -9587,47 +9451,35 @@ public: /// IFC2x4 CHANGE  The attributes Name, Description, Category, Priority have been added at the end of attribute list. Data type of LayerThickness relaxed to IfcNonNegativeLengthMeasure. class IfcMaterialLayer : public IfcMaterialDefinition { public: - /// Whether the optional attribute Material is defined for this IfcMaterialLayer - bool hasMaterial() const; /// Optional reference to the material from which the layer is constructed. Note that if this value is not given, it does not denote a layer with no material (an air gap), it only means that the material is not specified at that point. - IfcMaterial* Material() const; - void setMaterial(IfcMaterial* v); + boost::optional< IfcMaterial* > Material() const; + void Material(boost::optional< IfcMaterial* > v); /// The thickness of the material layer. The dimension is measured along the positive MlsDirection as specified in IfcMaterialLayerSet (that is mapped to AXIS-2, as specified in IfcMaterialLayerSetUsage for element occurrences supporting IfcMaterialLayerSetUsage. /// /// NOTE  The attribute value can be 0. for material thicknesses very close to zero, such as for a membrane. Material layers with thickess 0. shall not be rendered in the geometric representation. /// /// IFC2x4 CHANGE  The attribute datatype has been changed to IfcNonNegativeLengthMeasure allowing for 0. as thickness. double LayerThickness() const; - void setLayerThickness(double v); - /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer - bool hasIsVentilated() const; + void LayerThickness(double v); /// Indication of whether the material layer represents an air layer (or cavity). /// /// set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. /// set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). /// set to FALSE if the material layer is a solid material layer (the default). - bool IsVentilated() const; - void setIsVentilated(bool v); - /// Whether the optional attribute Name is defined for this IfcMaterialLayer - bool hasName() const; + boost::optional< bool > IsVentilated() const; + void IsVentilated(boost::optional< bool > v); /// The name by which the material layer is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialLayer - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition of the material layer in more descriptive terms than given by attributes Name or Category. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Category is defined for this IfcMaterialLayer - bool hasCategory() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Category of the material layer, e.g. the role it has in the layer set it belongs to (such as 'load bearing', 'thermal insulation' etc.). - std::string Category() const; - void setCategory(std::string v); - /// Whether the optional attribute Priority is defined for this IfcMaterialLayer - bool hasPriority() const; + boost::optional< std::string > Category() const; + void Category(boost::optional< std::string > v); /// The relative priority of the layer, expressed as ratio measure, normalised to 0..1. Controls how layers intersect in connections and corners of building elements: a layer from one element protrudes into (i.e. displaces) a layer from another element in a joint of these elements if the former element's layer has higher priority than the latter. The priorty value for a material layer in an element has to be set and maintained by software applications, in relation to the material layers in connected elements. The usage has to be further specified for each element, especially to avoid simultanious use with IfcLayerOffset. - double Priority() const; - void setPriority(double v); + boost::optional< double > Priority() const; + void Priority(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_DOUBLE; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterial; case 1: return Type::IfcNonNegativeLengthMeasure; case 2: return Type::IfcLogical; case 3: return Type::IfcLabel; case 4: return Type::IfcText; case 5: return Type::IfcLabel; case 6: return Type::IfcNormalisedRatioMeasure; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -9638,7 +9490,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayer (IfcAbstractEntity* e); - IfcMaterialLayer (IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority); + IfcMaterialLayer (boost::optional< IfcMaterial* > v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority); typedef IfcTemplatedEntityList< IfcMaterialLayer > list; }; /// IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed. @@ -9678,19 +9530,15 @@ class IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. IfcTemplatedEntityList< IfcMaterialLayer >::ptr MaterialLayers() const; - void setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v); - /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet - bool hasLayerSetName() const; + void MaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v); /// The name by which the material layer set is known. - std::string LayerSetName() const; - void setLayerSetName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialLayerSet - bool hasDescription() const; + boost::optional< std::string > LayerSetName() const; + void LayerSetName(boost::optional< std::string > v); /// Definition of the material layer set in descriptive terms. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterialLayer; case 1: return Type::IfcLabel; case 2: return Type::IfcText; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -9750,10 +9598,10 @@ class IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum OffsetDirection() const; - void setOffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); + void OffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); /// The numerical value of layer offset, in the direction of the axis assigned by the attribute OffsetDirection. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; - void setOffsetValues(std::vector< double > /*[1:2]*/ v); + void OffsetValues(std::vector< double > /*[1:2]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcMaterialLayer::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLayerSetDirectionEnum; case 8: return Type::IfcLengthMeasure; } return IfcMaterialLayer::getArgumentEntity(i); } @@ -9763,7 +9611,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayerWithOffsets (IfcAbstractEntity* e); - IfcMaterialLayerWithOffsets (IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets (boost::optional< IfcMaterial* > v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); typedef IfcTemplatedEntityList< IfcMaterialLayerWithOffsets > list; }; /// IfcMaterialList is a list of the different materials @@ -9787,7 +9635,7 @@ class IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. IfcTemplatedEntityList< IfcMaterial >::ptr Materials() const; - void setMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v); + void Materials(IfcTemplatedEntityList< IfcMaterial >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterial; } throw IfcParse::IfcException("argument out of range"); } @@ -9807,34 +9655,24 @@ public: /// HISTORYÿNew Entity in IFC2x4 class IfcMaterialProfile : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialProfile - bool hasName() const; /// The name by which the material profile is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialProfile - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition of the material profile in descriptive terms. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Material is defined for this IfcMaterialProfile - bool hasMaterial() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Optional reference to the material from which the profile is constructed. - IfcMaterial* Material() const; - void setMaterial(IfcMaterial* v); + boost::optional< IfcMaterial* > Material() const; + void Material(boost::optional< IfcMaterial* > v); /// Identification of the profile for which this material profile is associating material. IfcProfileDef* Profile() const; - void setProfile(IfcProfileDef* v); - /// Whether the optional attribute Priority is defined for this IfcMaterialProfile - bool hasPriority() const; + void Profile(IfcProfileDef* v); /// The relative priority of the profile, expressed as ratio measure, normalised to 0..1. Controls how profiles intersect in connections and corners of building elements: a profile from one element protrudes into (i.e. displaces) a profile from another element in a joint of these elements if the former element's profile has higher priority than the latter. The priorty value for a material profile in an element has to be set and maintained by software applications, in relation to the material profiles in connected elements. - double Priority() const; - void setPriority(double v); - /// Whether the optional attribute Category is defined for this IfcMaterialProfile - bool hasCategory() const; + boost::optional< double > Priority() const; + void Priority(boost::optional< double > v); /// Category of the material profile, e.g. the role it has in the profile set it belongs to. - std::string Category() const; - void setCategory(std::string v); + boost::optional< std::string > Category() const; + void Category(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcMaterial; case 3: return Type::IfcProfileDef; case 4: return Type::IfcNormalisedRatioMeasure; case 5: return Type::IfcLabel; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -9845,7 +9683,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfile (IfcAbstractEntity* e); - IfcMaterialProfile (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category); + IfcMaterialProfile (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcMaterial* > v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category); typedef IfcTemplatedEntityList< IfcMaterialProfile > list; }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. @@ -9855,27 +9693,21 @@ public: /// HISTORYÿNew Entity in IFC2x4. class IfcMaterialProfileSet : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialProfileSet - bool hasName() const; /// The name by which the material profile set is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialProfileSet - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition of the material profile set in descriptive terms. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Identification of the profiles from which the material profile set is composed. IfcTemplatedEntityList< IfcMaterialProfile >::ptr MaterialProfiles() const; - void setMaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v); - /// Whether the optional attribute CompositeProfile is defined for this IfcMaterialProfileSet - bool hasCompositeProfile() const; + void MaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v); /// Reference to the composite profile definition for which this material profile set associates material to each of its individual profile. /// /// NOTE   /// The referenced IfcCompositeProfileDef instance shall be composed of all of the IfcProfileDef instances which are used via the MaterialProfiles list in the current IfcMaterialProfileSet . - IfcCompositeProfileDef* CompositeProfile() const; - void setCompositeProfile(IfcCompositeProfileDef* v); + boost::optional< IfcCompositeProfileDef* > CompositeProfile() const; + void CompositeProfile(boost::optional< IfcCompositeProfileDef* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcMaterialProfile; case 3: return Type::IfcCompositeProfileDef; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -9885,7 +9717,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfileSet (IfcAbstractEntity* e); - IfcMaterialProfileSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile); + IfcMaterialProfileSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, boost::optional< IfcCompositeProfileDef* > v4_CompositeProfile); typedef IfcTemplatedEntityList< IfcMaterialProfileSet > list; }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. @@ -9897,7 +9729,7 @@ class IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), std::vector< double > /*[1:2]*/ OffsetValues() const; - void setOffsetValues(std::vector< double > /*[1:2]*/ v); + void OffsetValues(std::vector< double > /*[1:2]*/ v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcMaterialProfile::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcLengthMeasure; } return IfcMaterialProfile::getArgumentEntity(i); } @@ -9907,7 +9739,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfileWithOffsets (IfcAbstractEntity* e); - IfcMaterialProfileWithOffsets (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcMaterial* > v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); typedef IfcTemplatedEntityList< IfcMaterialProfileWithOffsets > list; }; /// IfcMaterialUsageDefinition is a general supertype for all @@ -9970,10 +9802,10 @@ class IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. IfcValue* ValueComponent() const; - void setValueComponent(IfcValue* v); + void ValueComponent(IfcValue* v); /// The unit in which the physical quantity is expressed. IfcUnit* UnitComponent() const; - void setUnitComponent(IfcUnit* v); + void UnitComponent(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -10042,19 +9874,15 @@ class IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark() const; - void setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v); - /// Whether the optional attribute ValueSource is defined for this IfcMetric - bool hasValueSource() const; + void Benchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v); /// Reference source for data values. - std::string ValueSource() const; - void setValueSource(std::string v); + boost::optional< std::string > ValueSource() const; + void ValueSource(boost::optional< std::string > v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. IfcMetricValueSelect* DataValue() const; - void setDataValue(IfcMetricValueSelect* v); - /// Whether the optional attribute ReferencePath is defined for this IfcMetric - bool hasReferencePath() const; - IfcReference* ReferencePath() const; - void setReferencePath(IfcReference* v); + void DataValue(IfcMetricValueSelect* v); + boost::optional< IfcReference* > ReferencePath() const; + void ReferencePath(boost::optional< IfcReference* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; } return IfcConstraint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcBenchmarkEnum; case 8: return Type::IfcLabel; case 9: return Type::IfcMetricValueSelect; case 10: return Type::IfcReference; } return IfcConstraint::getArgumentEntity(i); } @@ -10064,7 +9892,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMetric (IfcAbstractEntity* e); - IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue, IfcReference* v11_ReferencePath); + IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue, boost::optional< IfcReference* > v11_ReferencePath); typedef IfcTemplatedEntityList< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. @@ -10076,7 +9904,7 @@ class IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. std::string Currency() const; - void setCurrency(std::string v); + void Currency(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -10098,10 +9926,10 @@ class IfcNamedUnit : public IfcUtil::IfcBaseEntity { public: /// The dimensional exponents of the SI base units by which the named unit is defined. IfcDimensionalExponents* Dimensions() const; - void setDimensions(IfcDimensionalExponents* v); + void Dimensions(IfcDimensionalExponents* v); /// The type of the unit. IfcUnitEnum::IfcUnitEnum UnitType() const; - void setUnitType(IfcUnitEnum::IfcUnitEnum v); + void UnitType(IfcUnitEnum::IfcUnitEnum v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDimensionalExponents; case 1: return Type::IfcUnitEnum; } throw IfcParse::IfcException("argument out of range"); } @@ -10152,23 +9980,17 @@ public: /// The aim of IfcObjective is to specify the purpose for which the constraint is applied and to capture the values of the constraint. These may be both the benchmark values that are intended to indicate the constraint extent and the resulting values in use that enable performance comparisons to be applied. class IfcObjective : public IfcConstraint { public: - /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective - bool hasBenchmarkValues() const; /// A list of any benchmark values used for comparison purposes. - IfcTemplatedEntityList< IfcConstraint >::ptr BenchmarkValues() const; - void setBenchmarkValues(IfcTemplatedEntityList< IfcConstraint >::ptr v); - /// Whether the optional attribute LogicalAggregator is defined for this IfcObjective - bool hasLogicalAggregator() const; - IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator() const; - void setLogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v); + boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > BenchmarkValues() const; + void BenchmarkValues(boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v); + boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > LogicalAggregator() const; + void LogicalAggregator(boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v); /// Enumeration that qualifies the type of objective constraint. IfcObjectiveEnum::IfcObjectiveEnum ObjectiveQualifier() const; - void setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v); - /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective - bool hasUserDefinedQualifier() const; + void ObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v); /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - std::string UserDefinedQualifier() const; - void setUserDefinedQualifier(std::string v); + boost::optional< std::string > UserDefinedQualifier() const; + void UserDefinedQualifier(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcConstraint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcConstraint; case 8: return Type::IfcLogicalOperatorEnum; case 9: return Type::IfcObjectiveEnum; case 10: return Type::IfcLabel; } return IfcConstraint::getArgumentEntity(i); } @@ -10178,7 +10000,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjective (IfcAbstractEntity* e); - IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); + IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, boost::optional< IfcActorSelect* > v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); typedef IfcTemplatedEntityList< IfcObjective > list; }; /// A named and structured grouping with a corporate identity. @@ -10191,30 +10013,22 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. class IfcOrganization : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identification is defined for this IfcOrganization - bool hasIdentification() const; /// Identification of the organization. - std::string Identification() const; - void setIdentification(std::string v); + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// The word, or group of words, by which the organization is referred to. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcOrganization - bool hasDescription() const; + void Name(std::string v); /// Text that relates the nature of the organization. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Roles is defined for this IfcOrganization - bool hasRoles() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Roles played by the organization. - IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); - /// Whether the optional attribute Addresses is defined for this IfcOrganization - bool hasAddresses() const; + boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > Roles() const; + void Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v); /// Postal and telecom addresses of an organization. /// NOTE: There may be several addresses related to an organization. - IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; - void setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > Addresses() const; + void Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcActorRole; case 4: return Type::IfcAddress; } throw IfcParse::IfcException("argument out of range"); } @@ -10244,38 +10058,28 @@ class IfcOwnerHistory : public IfcUtil::IfcBaseEntity { public: /// Direct reference to the end user who currently "owns" this object. Note that IFC includes the concept of ownership transfer from one user to another and therefore distinguishes between the Owning User and Creating User. IfcPersonAndOrganization* OwningUser() const; - void setOwningUser(IfcPersonAndOrganization* v); + void OwningUser(IfcPersonAndOrganization* v); /// Direct reference to the application which currently "Owns" this object on behalf of the owning user, who uses this application. Note that IFC includes the concept of ownership transfer from one application to another and therefore distinguishes between the Owning Application and Creating Application. IfcApplication* OwningApplication() const; - void setOwningApplication(IfcApplication* v); - /// Whether the optional attribute State is defined for this IfcOwnerHistory - bool hasState() const; + void OwningApplication(IfcApplication* v); /// Enumeration that defines the current access state of the object. - IfcStateEnum::IfcStateEnum State() const; - void setState(IfcStateEnum::IfcStateEnum v); - /// Whether the optional attribute ChangeAction is defined for this IfcOwnerHistory - bool hasChangeAction() const; + boost::optional< IfcStateEnum::IfcStateEnum > State() const; + void State(boost::optional< IfcStateEnum::IfcStateEnum > v); /// Enumeration that defines the actions associated with changes made to the object. - IfcChangeActionEnum::IfcChangeActionEnum ChangeAction() const; - void setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v); - /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory - bool hasLastModifiedDate() const; + boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > ChangeAction() const; + void ChangeAction(boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v); /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - int LastModifiedDate() const; - void setLastModifiedDate(int v); - /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory - bool hasLastModifyingUser() const; + boost::optional< int > LastModifiedDate() const; + void LastModifiedDate(boost::optional< int > v); /// User who carried out the last modification using LastModifyingApplication. - IfcPersonAndOrganization* LastModifyingUser() const; - void setLastModifyingUser(IfcPersonAndOrganization* v); - /// Whether the optional attribute LastModifyingApplication is defined for this IfcOwnerHistory - bool hasLastModifyingApplication() const; + boost::optional< IfcPersonAndOrganization* > LastModifyingUser() const; + void LastModifyingUser(boost::optional< IfcPersonAndOrganization* > v); /// Application used to make the last modification. - IfcApplication* LastModifyingApplication() const; - void setLastModifyingApplication(IfcApplication* v); + boost::optional< IfcApplication* > LastModifyingApplication() const; + void LastModifyingApplication(boost::optional< IfcApplication* > v); /// The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. int CreationDate() const; - void setCreationDate(int v); + void CreationDate(int v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPersonAndOrganization; case 1: return Type::IfcApplication; case 2: return Type::IfcStateEnum; case 3: return Type::IfcChangeActionEnum; case 4: return Type::IfcTimeStamp; case 5: return Type::IfcPersonAndOrganization; case 6: return Type::IfcApplication; case 7: return Type::IfcTimeStamp; } throw IfcParse::IfcException("argument out of range"); } @@ -10285,7 +10089,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOwnerHistory (IfcAbstractEntity* e); - IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate); + IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, boost::optional< IfcPersonAndOrganization* > v6_LastModifyingUser, boost::optional< IfcApplication* > v7_LastModifyingApplication, int v8_CreationDate); typedef IfcTemplatedEntityList< IfcOwnerHistory > list; }; /// Definition: an individual human being. @@ -10299,52 +10103,36 @@ public: /// IFC 2x4 change: attribute Id renamed to Identification. WHERE rule relaxed to allow omission of names if Identification is provided. class IfcPerson : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identification is defined for this IfcPerson - bool hasIdentification() const; /// Identification of the person. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute FamilyName is defined for this IfcPerson - bool hasFamilyName() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - std::string FamilyName() const; - void setFamilyName(std::string v); - /// Whether the optional attribute GivenName is defined for this IfcPerson - bool hasGivenName() const; + boost::optional< std::string > FamilyName() const; + void FamilyName(boost::optional< std::string > v); /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - std::string GivenName() const; - void setGivenName(std::string v); - /// Whether the optional attribute MiddleNames is defined for this IfcPerson - bool hasMiddleNames() const; + boost::optional< std::string > GivenName() const; + void GivenName(boost::optional< std::string > v); /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// NOTE: Middle names are not normally used in familiar communication but may be asserted to provide additional /// identification of a particular person if necessary. They may be particularly useful in situations where the person concerned has a /// family name that occurs commonly in the geographical region. - std::vector< std::string > /*[1:?]*/ MiddleNames() const; - void setMiddleNames(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PrefixTitles is defined for this IfcPerson - bool hasPrefixTitles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > MiddleNames() const; + void MiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< std::string > /*[1:?]*/ PrefixTitles() const; - void setPrefixTitles(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute SuffixTitles is defined for this IfcPerson - bool hasSuffixTitles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > PrefixTitles() const; + void PrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< std::string > /*[1:?]*/ SuffixTitles() const; - void setSuffixTitles(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute Roles is defined for this IfcPerson - bool hasRoles() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > SuffixTitles() const; + void SuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// Roles played by the person. - IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); - /// Whether the optional attribute Addresses is defined for this IfcPerson - bool hasAddresses() const; + boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > Roles() const; + void Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v); /// Postal and telecommunication addresses of a person. /// NOTE - A person may have several addresses. - IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; - void setAddresses(IfcTemplatedEntityList< IfcAddress >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > Addresses() const; + void Addresses(boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_VECTOR_STRING; case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcActorRole; case 7: return Type::IfcAddress; } throw IfcParse::IfcException("argument out of range"); } @@ -10367,15 +10155,13 @@ class IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { public: /// The person who is related to the organization. IfcPerson* ThePerson() const; - void setThePerson(IfcPerson* v); + void ThePerson(IfcPerson* v); /// The organization to which the person is related. IfcOrganization* TheOrganization() const; - void setTheOrganization(IfcOrganization* v); - /// Whether the optional attribute Roles is defined for this IfcPersonAndOrganization - bool hasRoles() const; + void TheOrganization(IfcOrganization* v); /// Roles played by the person within the context of an organization. These may differ from the roles in ThePerson.Roles which may be asserted without organizational context. - IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; - void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > Roles() const; + void Roles(boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPerson; case 1: return Type::IfcOrganization; case 2: return Type::IfcActorRole; } throw IfcParse::IfcException("argument out of range"); } @@ -10397,12 +10183,10 @@ class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity - bool hasDescription() const; + void Name(std::string v); /// Further explanation that might be given to the quantity. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -10428,11 +10212,9 @@ public: /// IFC2x2 ADDENDUM 1 CHANGE  The abstract entity IfcPhysicalSimpleQuantity has been added. Upward compatibility for file based exchange is guaranteed. class IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: - /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity - bool hasUnit() const; /// Optional assignment of a unit. If no unit is given, then the global unit assignment, as established at the IfcProject, applies to the quantity measures. - IfcNamedUnit* Unit() const; - void setUnit(IfcNamedUnit* v); + boost::optional< IfcNamedUnit* > Unit() const; + void Unit(boost::optional< IfcNamedUnit* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPhysicalQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcNamedUnit; } return IfcPhysicalQuantity::getArgumentEntity(i); } @@ -10442,7 +10224,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalSimpleQuantity (IfcAbstractEntity* e); - IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit); + IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit); typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. @@ -10450,47 +10232,33 @@ public: /// HISTORY New entity in IFC Release 2x. class IfcPostalAddress : public IfcAddress { public: - /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress - bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - std::string InternalLocation() const; - void setInternalLocation(std::string v); - /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress - bool hasAddressLines() const; + boost::optional< std::string > InternalLocation() const; + void InternalLocation(boost::optional< std::string > v); /// The postal address. /// NOTE: A postal address may occupy several lines (or elements) when recorded. /// It is expected that normal usage will incorporate relevant elements of the following address concepts: /// A location within a building (e.g. 3rd Floor) Building name (e.g. Interoperability House) Street number /// (e.g. 6400) Street name (e.g. Alliance Boulevard). Typical content of address lines may vary in different /// countries. - std::vector< std::string > /*[1:?]*/ AddressLines() const; - void setAddressLines(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress - bool hasPostalBox() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > AddressLines() const; + void AddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// An address that is implied by an identifiable mail drop. - std::string PostalBox() const; - void setPostalBox(std::string v); - /// Whether the optional attribute Town is defined for this IfcPostalAddress - bool hasTown() const; + boost::optional< std::string > PostalBox() const; + void PostalBox(boost::optional< std::string > v); /// The name of a town. - std::string Town() const; - void setTown(std::string v); - /// Whether the optional attribute Region is defined for this IfcPostalAddress - bool hasRegion() const; + boost::optional< std::string > Town() const; + void Town(boost::optional< std::string > v); /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - std::string Region() const; - void setRegion(std::string v); - /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress - bool hasPostalCode() const; + boost::optional< std::string > Region() const; + void Region(boost::optional< std::string > v); /// The code that is used by the country's postal service. - std::string PostalCode() const; - void setPostalCode(std::string v); - /// Whether the optional attribute Country is defined for this IfcPostalAddress - bool hasCountry() const; + boost::optional< std::string > PostalCode() const; + void PostalCode(boost::optional< std::string > v); /// The name of a country. - std::string Country() const; - void setCountry(std::string v); + boost::optional< std::string > Country() const; + void Country(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::IfcLabel; } return IfcAddress::getArgumentEntity(i); } @@ -10537,20 +10305,16 @@ class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment - bool hasDescription() const; + void Name(std::string v); /// Additional description of the layer. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The set of layered items, which are assigned to this layer. IfcEntityList::ptr AssignedItems() const; - void setAssignedItems(IfcEntityList::ptr v); - /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment - bool hasIdentifier() const; + void AssignedItems(IfcEntityList::ptr v); /// An (internal) identifier assigned to the layer. - std::string Identifier() const; - void setIdentifier(std::string v); + boost::optional< std::string > Identifier() const; + void Identifier(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcLayeredItem; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcException("argument out of range"); } @@ -10580,20 +10344,20 @@ class IfcPresentationLayerWithStyle : public IfcPresentationLayerAssignment { public: /// A logical setting, TRUE indicates that the layer is set to 'On', FALSE that the layer is set to 'Off', UNKNOWN that such information is not available. bool LayerOn() const; - void setLayerOn(bool v); + void LayerOn(bool v); /// A logical setting, TRUE indicates that the layer is set to 'Frozen', FALSE that the layer is set to 'Not frozen', UNKNOWN that such information is not available. bool LayerFrozen() const; - void setLayerFrozen(bool v); + void LayerFrozen(bool v); /// A logical setting, TRUE indicates that the layer is set to 'Blocked', FALSE that the layer is set to 'Not blocked', UNKNOWN that such information is not available. bool LayerBlocked() const; - void setLayerBlocked(bool v); + void LayerBlocked(bool v); /// Assignment of presentation styles to the layer to provide a default style for representation items. /// /// NOTE  In most cases the assignment of styles to a layer is restricted to an IfcCurveStyle representing the layer curve colour, layer curve thickness, and layer curve type. /// /// IFC2x4 CHANGE  The data type has been changed from IfcPresentationStyleSelect (now deprecated) to IfcPresentationStyle. IfcTemplatedEntityList< IfcPresentationStyle >::ptr LayerStyles() const; - void setLayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v); + void LayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; case 7: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationLayerAssignment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; case 7: return Type::IfcPresentationStyle; } return IfcPresentationLayerAssignment::getArgumentEntity(i); } @@ -10613,11 +10377,9 @@ public: /// HISTORY  New entity in IFC2x3. class IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcPresentationStyle - bool hasName() const; /// Name of the presentation style. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -10639,7 +10401,7 @@ class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. IfcEntityList::ptr Styles() const; - void setStyles(IfcEntityList::ptr v); + void Styles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPresentationStyleSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -10671,19 +10433,15 @@ public: /// IFC2x4 CHANGE  Entity made abstract. class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcProductRepresentation - bool hasName() const; /// The word or group of words by which the product representation is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcProductRepresentation - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. IfcTemplatedEntityList< IfcRepresentation >::ptr Representations() const; - void setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v); + void Representations(IfcTemplatedEntityList< IfcRepresentation >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcRepresentation; } throw IfcParse::IfcException("argument out of range"); } @@ -10870,12 +10628,10 @@ class IfcProfileDef : public IfcUtil::IfcBaseEntity { public: /// Defines the type of geometry into which this profile definition shall be resolved, either a curve or a surface area. In case of curve the profile should be referenced by a swept surface, in case of area the profile should be referenced by a swept area solid. IfcProfileTypeEnum::IfcProfileTypeEnum ProfileType() const; - void setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v); - /// Whether the optional attribute ProfileName is defined for this IfcProfileDef - bool hasProfileName() const; + void ProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v); /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - std::string ProfileName() const; - void setProfileName(std::string v); + boost::optional< std::string > ProfileName() const; + void ProfileName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProfileTypeEnum; case 1: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -10915,28 +10671,22 @@ public: /// HISTORY  New entity in IFC2x4. class IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: - /// Whether the optional attribute MapProjection is defined for this IfcProjectedCRS - bool hasMapProjection() const; /// Name by which the map projection is identified. /// /// UTM /// Gaus-Krueger - std::string MapProjection() const; - void setMapProjection(std::string v); - /// Whether the optional attribute MapZone is defined for this IfcProjectedCRS - bool hasMapZone() const; + boost::optional< std::string > MapProjection() const; + void MapProjection(boost::optional< std::string > v); /// Name by which the map zone, relating to the MapProjection, is identified. Examples are /// /// for UTM, the zone number, like 32 for UTM32 /// for Gaus-Krueger, the zones of longitudinal width, like 3' - std::string MapZone() const; - void setMapZone(std::string v); - /// Whether the optional attribute MapUnit is defined for this IfcProjectedCRS - bool hasMapUnit() const; + boost::optional< std::string > MapZone() const; + void MapZone(boost::optional< std::string > v); /// Unit of the coordinate axes composing the map coordinate system. /// NOTE  Only length measures are in scope and all two or three axes of the map coordinate system shall have the same length unit. - IfcNamedUnit* MapUnit() const; - void setMapUnit(IfcNamedUnit* v); + boost::optional< IfcNamedUnit* > MapUnit() const; + void MapUnit(boost::optional< IfcNamedUnit* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcCoordinateReferenceSystem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcIdentifier; case 5: return Type::IfcIdentifier; case 6: return Type::IfcNamedUnit; } return IfcCoordinateReferenceSystem::getArgumentEntity(i); } @@ -10946,7 +10696,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectedCRS (IfcAbstractEntity* e); - IfcProjectedCRS (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit); + IfcProjectedCRS (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, boost::optional< IfcNamedUnit* > v7_MapUnit); typedef IfcTemplatedEntityList< IfcProjectedCRS > list; }; @@ -11015,15 +10765,13 @@ class IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. std::string Name() const; - void setName(std::string v); + void Name(std::string v); /// List of values that form the enumeration. IfcEntityList::ptr EnumerationValues() const; - void setEnumerationValues(IfcEntityList::ptr v); - /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration - bool hasUnit() const; + void EnumerationValues(IfcEntityList::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. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } return IfcPropertyAbstraction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcValue; case 2: return Type::IfcUnit; } return IfcPropertyAbstraction::getArgumentEntity(i); } @@ -11033,7 +10781,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeration (IfcAbstractEntity* e); - IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit* > v3_Unit); typedef IfcTemplatedEntityList< IfcPropertyEnumeration > list; }; /// IfcQuantityArea is a physical quantity that defines a derived area measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -11045,14 +10793,12 @@ class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. double AreaValue() const; - void setAreaValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityArea - bool hasFormula() const; + void AreaValue(double v); /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void Formula(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcAreaMeasure; case 4: return Type::IfcLabel; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -11062,7 +10808,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityArea (IfcAbstractEntity* e); - IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula); + IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityArea > list; }; /// IfcQuantityCount is a physical quantity that defines a derived count measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -11074,14 +10820,12 @@ class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. double CountValue() const; - void setCountValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityCount - bool hasFormula() const; + void CountValue(double v); /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void Formula(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcCountMeasure; case 4: return Type::IfcLabel; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -11091,7 +10835,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityCount (IfcAbstractEntity* e); - IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula); + IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityCount > list; }; /// IfcQuantityLength is a physical quantity that defines a derived length measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -11103,14 +10847,12 @@ class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. double LengthValue() const; - void setLengthValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityLength - bool hasFormula() const; + void LengthValue(double v); /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void Formula(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcLabel; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -11120,7 +10862,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityLength (IfcAbstractEntity* e); - IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula); + IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityLength > list; }; /// IfcQuantityTime is an element quantity that defines a time measure to provide an property of time related to an element. It is normally given by the recipe information of the element under the specific measure rules given by a method of measurement. @@ -11132,14 +10874,12 @@ class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. double TimeValue() const; - void setTimeValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityTime - bool hasFormula() const; + void TimeValue(double v); /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void Formula(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTimeMeasure; case 4: return Type::IfcLabel; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -11149,7 +10889,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityTime (IfcAbstractEntity* e); - IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula); + IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityTime > list; }; /// IfcQuantityVolume is a physical quantity that defines a derived volume measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -11161,14 +10901,12 @@ class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. double VolumeValue() const; - void setVolumeValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityVolume - bool hasFormula() const; + void VolumeValue(double v); /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void Formula(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcVolumeMeasure; case 4: return Type::IfcLabel; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -11178,7 +10916,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityVolume (IfcAbstractEntity* e); - IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula); + IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityVolume > list; }; /// IfcQuantityWeight is a physical element quantity that defines a derived weight measure to provide an element's physical property. It is normally derived from the physical properties of the element under the specific measure rules given by a method of measurement. @@ -11190,14 +10928,12 @@ class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. double WeightValue() const; - void setWeightValue(double v); - /// Whether the optional attribute Formula is defined for this IfcQuantityWeight - bool hasFormula() const; + void WeightValue(double v); /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - std::string Formula() const; - void setFormula(std::string v); + boost::optional< std::string > Formula() const; + void Formula(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcMassMeasure; case 4: return Type::IfcLabel; } return IfcPhysicalSimpleQuantity::getArgumentEntity(i); } @@ -11207,7 +10943,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityWeight (IfcAbstractEntity* e); - IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula); + IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcNamedUnit* > v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityWeight > list; }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. @@ -11223,52 +10959,38 @@ public: /// combinations, i.e. what attributes are needed to fully /// describe the pattern type. IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum RecurrenceType() const; - void setRecurrenceType(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v); - /// Whether the optional attribute DayComponent is defined for this IfcRecurrencePattern - bool hasDayComponent() const; + void RecurrenceType(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v); /// The position of the specified day in a month. - std::vector< int > /*[1:?]*/ DayComponent() const; - void setDayComponent(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute WeekdayComponent is defined for this IfcRecurrencePattern - bool hasWeekdayComponent() const; + boost::optional< std::vector< int > /*[1:?]*/ > DayComponent() const; + void DayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v); /// The weekday name of the specified day in a week. - std::vector< int > /*[1:?]*/ WeekdayComponent() const; - void setWeekdayComponent(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute MonthComponent is defined for this IfcRecurrencePattern - bool hasMonthComponent() const; + boost::optional< std::vector< int > /*[1:?]*/ > WeekdayComponent() const; + void WeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v); /// The position of the specified month in a year. - std::vector< int > /*[1:?]*/ MonthComponent() const; - void setMonthComponent(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute Position is defined for this IfcRecurrencePattern - bool hasPosition() const; + boost::optional< std::vector< int > /*[1:?]*/ > MonthComponent() const; + void MonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v); /// The position of the specified component, e.g. the 3rd /// (position=3) Tuesday (weekday component) in a month. A /// negative position value is used to define the last position /// of the component (-1), the next to last position (-2) etc. - int Position() const; - void setPosition(int v); - /// Whether the optional attribute Interval is defined for this IfcRecurrencePattern - bool hasInterval() const; + boost::optional< int > Position() const; + void Position(boost::optional< int > v); /// An interval can be given according to the pattern type. An /// interval value of 2 can for instance every two days, weeks, /// months, years. An empty interval value is regarded as 1. The /// used interval values should be in a reasonable range, e.g. /// not 0 or <0. - int Interval() const; - void setInterval(int v); - /// Whether the optional attribute Occurrences is defined for this IfcRecurrencePattern - bool hasOccurrences() const; + boost::optional< int > Interval() const; + void Interval(boost::optional< int > v); /// Defines the number of occurrences of this pattern, e.g. a weekly /// event might be defined to occur 5 times before it stops. - int Occurrences() const; - void setOccurrences(int v); - /// Whether the optional attribute TimePeriods is defined for this IfcRecurrencePattern - bool hasTimePeriods() const; + boost::optional< int > Occurrences() const; + void Occurrences(boost::optional< int > v); /// List of time periods that are defined by a start and end time /// of the recurring element (day). The order of the list should /// reflect the sequence of the time periods. - IfcTemplatedEntityList< IfcTimePeriod >::ptr TimePeriods() const; - void setTimePeriods(IfcTemplatedEntityList< IfcTimePeriod >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > TimePeriods() const; + void TimePeriods(boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_VECTOR_INT; case 2: return IfcUtil::Argument_VECTOR_INT; case 3: return IfcUtil::Argument_VECTOR_INT; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; case 7: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRecurrenceTypeEnum; case 1: return Type::IfcDayInMonthNumber; case 2: return Type::IfcDayInWeekNumber; case 3: return Type::IfcMonthInYearNumber; case 4: return Type::IfcInteger; case 5: return Type::IfcInteger; case 6: return Type::IfcInteger; case 7: return Type::IfcTimePeriod; } throw IfcParse::IfcException("argument out of range"); } @@ -11284,26 +11006,16 @@ public: class IfcReference : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute TypeIdentifier is defined for this IfcReference - bool hasTypeIdentifier() const; - std::string TypeIdentifier() const; - void setTypeIdentifier(std::string v); - /// Whether the optional attribute AttributeIdentifier is defined for this IfcReference - bool hasAttributeIdentifier() const; - std::string AttributeIdentifier() const; - void setAttributeIdentifier(std::string v); - /// Whether the optional attribute InstanceName is defined for this IfcReference - bool hasInstanceName() const; - std::string InstanceName() const; - void setInstanceName(std::string v); - /// Whether the optional attribute ListPositions is defined for this IfcReference - bool hasListPositions() const; - std::vector< int > /*[1:?]*/ ListPositions() const; - void setListPositions(std::vector< int > /*[1:?]*/ v); - /// Whether the optional attribute InnerReference is defined for this IfcReference - bool hasInnerReference() const; - IfcReference* InnerReference() const; - void setInnerReference(IfcReference* v); + boost::optional< std::string > TypeIdentifier() const; + void TypeIdentifier(boost::optional< std::string > v); + boost::optional< std::string > AttributeIdentifier() const; + void AttributeIdentifier(boost::optional< std::string > v); + boost::optional< std::string > InstanceName() const; + void InstanceName(boost::optional< std::string > v); + boost::optional< std::vector< int > /*[1:?]*/ > ListPositions() const; + void ListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v); + boost::optional< IfcReference* > InnerReference() const; + void InnerReference(boost::optional< IfcReference* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_VECTOR_INT; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; case 3: return Type::UNDEFINED; case 4: return Type::IfcReference; } throw IfcParse::IfcException("argument out of range"); } @@ -11313,7 +11025,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReference (IfcAbstractEntity* e); - IfcReference (boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference); + IfcReference (boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, boost::optional< IfcReference* > v5_InnerReference); typedef IfcTemplatedEntityList< IfcReference > list; }; /// Definition from ISO/CD 10303-43:1992: A @@ -11366,21 +11078,17 @@ class IfcRepresentation : public IfcUtil::IfcBaseEntity { public: /// Definition of the representation context for which the different subtypes of representation are valid. IfcRepresentationContext* ContextOfItems() const; - void setContextOfItems(IfcRepresentationContext* v); - /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation - bool hasRepresentationIdentifier() const; + void ContextOfItems(IfcRepresentationContext* v); /// The optional identifier of the representation as used within a project. - std::string RepresentationIdentifier() const; - void setRepresentationIdentifier(std::string v); - /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation - bool hasRepresentationType() const; + boost::optional< std::string > RepresentationIdentifier() const; + void RepresentationIdentifier(boost::optional< std::string > v); /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - std::string RepresentationType() const; - void setRepresentationType(std::string v); + boost::optional< std::string > RepresentationType() const; + void RepresentationType(boost::optional< std::string > v); /// Set of geometric representation items that are defined for this representation. IfcTemplatedEntityList< IfcRepresentationItem >::ptr Items() const; - void setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v); + void Items(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRepresentationContext; case 1: return Type::IfcLabel; case 2: return Type::IfcLabel; case 3: return Type::IfcRepresentationItem; } throw IfcParse::IfcException("argument out of range"); } @@ -11408,16 +11116,12 @@ public: /// IFC2x2. class IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext - bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - std::string ContextIdentifier() const; - void setContextIdentifier(std::string v); - /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext - bool hasContextType() const; + boost::optional< std::string > ContextIdentifier() const; + void ContextIdentifier(boost::optional< std::string > v); /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - std::string ContextType() const; - void setContextType(std::string v); + boost::optional< std::string > ContextType() const; + void ContextType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -11495,10 +11199,10 @@ public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. IfcAxis2Placement* MappingOrigin() const; - void setMappingOrigin(IfcAxis2Placement* v); + void MappingOrigin(IfcAxis2Placement* v); /// A representation that is mapped to at least one mapped item. IfcRepresentation* MappedRepresentation() const; - void setMappedRepresentation(IfcRepresentation* v); + void MappedRepresentation(IfcRepresentation* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement; case 1: return Type::IfcRepresentation; } throw IfcParse::IfcException("argument out of range"); } @@ -11518,16 +11222,12 @@ public: /// HISTORY New Entity in IFC 2x4 class IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcResourceLevelRelationship - bool hasName() const; /// A name used to identify or qualify the relationship. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcResourceLevelRelationship - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// A description that may apply additional information about the relationship. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -11553,26 +11253,20 @@ class IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. std::string GlobalId() const; - void setGlobalId(std::string v); - /// Whether the optional attribute OwnerHistory is defined for this IfcRoot - bool hasOwnerHistory() const; + void GlobalId(std::string v); /// Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, /// /// NOTE only the last modification in stored - either as addition, deletion or modification. /// /// IFC2x4 CHANGE  The attribute has been changed to be OPTIONAL. - IfcOwnerHistory* OwnerHistory() const; - void setOwnerHistory(IfcOwnerHistory* v); - /// Whether the optional attribute Name is defined for this IfcRoot - bool hasName() const; + boost::optional< IfcOwnerHistory* > OwnerHistory() const; + void OwnerHistory(boost::optional< IfcOwnerHistory* > v); /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcRoot - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Optional description, provided for exchanging informative comments. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGloballyUniqueId; case 1: return Type::IfcOwnerHistory; case 2: return Type::IfcLabel; case 3: return Type::IfcText; } throw IfcParse::IfcException("argument out of range"); } @@ -11582,7 +11276,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoot (IfcAbstractEntity* e); - IfcRoot (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcRoot (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRoot > list; }; /// Definition from ISO/CD 10303-41:1992: An SI unit is the fixed quantity used as a standard in terms of which items are measured as defined by ISO 1000 (clause 2). @@ -11594,16 +11288,14 @@ public: /// HISTORY New entity in IFC Release 1.5.1. class IfcSIUnit : public IfcNamedUnit { public: - /// Whether the optional attribute Prefix is defined for this IfcSIUnit - bool hasPrefix() const; /// The SI Prefix for defining decimal multiples and submultiples of the unit. - IfcSIPrefix::IfcSIPrefix Prefix() const; - void setPrefix(IfcSIPrefix::IfcSIPrefix v); + boost::optional< IfcSIPrefix::IfcSIPrefix > Prefix() const; + void Prefix(boost::optional< IfcSIPrefix::IfcSIPrefix > v); /// The word, or group of words, by which the SI unit is referred to. /// /// NOTE  Even though the SI system's base unit for mass is kilogram, the IfcSIUnit for mass is gram if no Prefix is asserted. IfcSIUnitName::IfcSIUnitName Name() const; - void setName(IfcSIUnitName::IfcSIUnitName v); + void Name(IfcSIUnitName::IfcSIUnitName v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; } return IfcNamedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcSIPrefix; case 3: return Type::IfcSIUnitName; } return IfcNamedUnit::getArgumentEntity(i); } @@ -11621,22 +11313,16 @@ public: /// HISTORY: New entity in IFC2x4. class IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcSchedulingTime - bool hasName() const; /// Optional name for the time definition. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute DataOrigin is defined for this IfcSchedulingTime - bool hasDataOrigin() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Specifies the origin of the scheduling time entity. It currently /// differentiates between predicted, simulated, measured, and user defined values. - IfcDataOriginEnum::IfcDataOriginEnum DataOrigin() const; - void setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); - /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcSchedulingTime - bool hasUserDefinedDataOrigin() const; + boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > DataOrigin() const; + void DataOrigin(boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v); /// Value of the data origin if DataOrigin attribute is USERDEFINED. - std::string UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(std::string v); + boost::optional< std::string > UserDefinedDataOrigin() const; + void UserDefinedDataOrigin(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcDataOriginEnum; case 2: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -11691,28 +11377,22 @@ public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility IfcTemplatedEntityList< IfcShapeModel >::ptr ShapeRepresentations() const; - void setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); - /// Whether the optional attribute Name is defined for this IfcShapeAspect - bool hasName() const; + void ShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); /// The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag "Glazing" to define which component of a window shape defines the glazing area. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcShapeAspect - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// An indication that the shape aspect is on the physical boundary of the product definition shape. If the value of this attribute is TRUE, it shall be asserted that the shape aspect being identified is on such a boundary. If the value is FALSE, it shall be asserted that the shape aspect being identified is not on such a boundary. If the value is UNKNOWN, it shall be asserted that it is not known whether or not the shape aspect being identified is on such a boundary. /// --- /// EXAMPLE: Would be FALSE for a center line, identified as shape aspect; would be TRUE for a cantilever. /// --- bool ProductDefinitional() const; - void setProductDefinitional(bool v); - /// Whether the optional attribute PartOfProductDefinitionShape is defined for this IfcShapeAspect - bool hasPartOfProductDefinitionShape() const; + void ProductDefinitional(bool v); /// Reference to the product definition shape of which this class is an aspect. - IfcProductRepresentationSelect* PartOfProductDefinitionShape() const; - void setPartOfProductDefinitionShape(IfcProductRepresentationSelect* v); + boost::optional< IfcProductRepresentationSelect* > PartOfProductDefinitionShape() const; + void PartOfProductDefinitionShape(boost::optional< IfcProductRepresentationSelect* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShapeModel; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::UNDEFINED; case 4: return Type::IfcProductRepresentationSelect; } throw IfcParse::IfcException("argument out of range"); } @@ -11722,7 +11402,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeAspect (IfcAbstractEntity* e); - IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape); + IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect* > v5_PartOfProductDefinitionShape); typedef IfcTemplatedEntityList< IfcShapeAspect > list; }; /// IfcShapeModel represents @@ -11912,11 +11592,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition - bool hasName() const; /// Optionally defines a name for this connection condition. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -11934,11 +11612,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcStructuralLoad - bool hasName() const; /// Optionally defines a name for this load. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } throw IfcParse::IfcException("argument out of range"); } @@ -11966,9 +11642,7 @@ class IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr Values() const; - void setValues(IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v); - /// Whether the optional attribute Locations is defined for this IfcStructuralLoadConfiguration - bool hasLocations() const; + void Values(IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v); /// Locations of the load samples or result samples, given within the local coordinate system defined by the instance which uses this resource object. Each item in the list of locations pertains to the values list item at the same list index. This attribute is optional for configurations in which the locations are implicitly known from higher-level definitions. virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_UNKNOWN; } return IfcStructuralLoad::getArgumentType(i); } @@ -12023,27 +11697,21 @@ public: /// Figure 332 — Structural load temperature class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute DeltaTConstant is defined for this IfcStructuralLoadTemperature - bool hasDeltaTConstant() const; /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// /// A positive value describes an increase in temperature. I.e. a positive constant temperature change causes elongation of a member, or compression in the member if there are respective restraints. - double DeltaTConstant() const; - void setDeltaTConstant(double v); - /// Whether the optional attribute DeltaTY is defined for this IfcStructuralLoadTemperature - bool hasDeltaTY() const; + boost::optional< double > DeltaTConstant() const; + void DeltaTConstant(boost::optional< double > v); /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive y direction minus the temperature change at the outer fibre of the negative y direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in y induces a negative curvature of the member about z, or a positive bending moment about z if there are respective restraints. y and z are local member axes. - double DeltaTY() const; - void setDeltaTY(double v); - /// Whether the optional attribute DeltaTZ is defined for this IfcStructuralLoadTemperature - bool hasDeltaTZ() const; + boost::optional< double > DeltaTY() const; + void DeltaTY(boost::optional< double > v); /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive z direction minus the temperature change at the outer fibre of the negative z direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in z induces a positive curvature of the member about y, or a negative bending moment about y if there are respective restraints. y and z are local member axes. - double DeltaTZ() const; - void setDeltaTZ(double v); + boost::optional< double > DeltaTZ() const; + void DeltaTZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcThermodynamicTemperatureMeasure; case 2: return Type::IfcThermodynamicTemperatureMeasure; case 3: return Type::IfcThermodynamicTemperatureMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -12105,13 +11773,11 @@ public: /// Figure 293 — Styled item class IfcStyledItem : public IfcRepresentationItem { public: - /// Whether the optional attribute Item is defined for this IfcStyledItem - bool hasItem() const; /// A geometric representation item to which the style is assigned. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute Item has been made optional. Upward compatibility for file based exchange is guaranteed. - IfcRepresentationItem* Item() const; - void setItem(IfcRepresentationItem* v); + boost::optional< IfcRepresentationItem* > Item() const; + void Item(boost::optional< IfcRepresentationItem* > v); /// Representation styles which are assigned, either to an geometric representation item, or to a material definition. /// /// IFC2x4 CHANGE The data type has been changed to IfcStyleAssignmentSelect with upward compatibility @@ -12119,12 +11785,10 @@ public: /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. IfcEntityList::ptr Styles() const; - void setStyles(IfcEntityList::ptr v); - /// Whether the optional attribute Name is defined for this IfcStyledItem - bool hasName() const; + void Styles(IfcEntityList::ptr v); /// The word, or group of words, by which the styled item is referred to. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } return IfcRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRepresentationItem; case 1: return Type::IfcStyleAssignmentSelect; case 2: return Type::IfcLabel; } return IfcRepresentationItem::getArgumentEntity(i); } @@ -12134,7 +11798,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyledItem (IfcAbstractEntity* e); - IfcStyledItem (IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< std::string > v3_Name); + IfcStyledItem (boost::optional< IfcRepresentationItem* > v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcStyledItem > list; }; /// The IfcStyledRepresentation represents the concept of a styled presentation being a representation of a product or a product component, like material. within a representation context. This representation context does not need to be (but may be) a geometric representation context. @@ -12165,21 +11829,15 @@ public: /// HISTORY: New entity in IFC 2x4. class IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: - /// Whether the optional attribute SurfaceReinforcement1 is defined for this IfcSurfaceReinforcementArea - bool hasSurfaceReinforcement1() const; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< double > /*[2:3]*/ SurfaceReinforcement1() const; - void setSurfaceReinforcement1(std::vector< double > /*[2:3]*/ v); - /// Whether the optional attribute SurfaceReinforcement2 is defined for this IfcSurfaceReinforcementArea - bool hasSurfaceReinforcement2() const; + boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement1() const; + void SurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v); /// Reinforcement at the face of the member which is located at the side of the negative local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< double > /*[2:3]*/ SurfaceReinforcement2() const; - void setSurfaceReinforcement2(std::vector< double > /*[2:3]*/ v); - /// Whether the optional attribute ShearReinforcement is defined for this IfcSurfaceReinforcementArea - bool hasShearReinforcement() const; + boost::optional< std::vector< double > /*[2:3]*/ > SurfaceReinforcement2() const; + void SurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v); /// Shear reinforcement. Specified as area per area, e.g. square metre per square metre (hence ratio measure, i.e. unitless). - double ShearReinforcement() const; - void setShearReinforcement(double v); + boost::optional< double > ShearReinforcement() const; + void ShearReinforcement(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadOrResult::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcRatioMeasure; } return IfcStructuralLoadOrResult::getArgumentEntity(i); } @@ -12203,10 +11861,10 @@ class IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. IfcSurfaceSide::IfcSurfaceSide Side() const; - void setSide(IfcSurfaceSide::IfcSurfaceSide v); + void Side(IfcSurfaceSide::IfcSurfaceSide v); /// A collection of different surface styles. IfcEntityList::ptr Styles() const; - void setStyles(IfcEntityList::ptr v); + void Styles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurfaceSide; case 2: return Type::IfcSurfaceStyleElementSelect; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -12235,19 +11893,19 @@ public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* DiffuseTransmissionColour() const; - void setDiffuseTransmissionColour(IfcColourRgb* v); + void DiffuseTransmissionColour(IfcColourRgb* v); /// The degree of diffusion of the reflected light. In the case of specular surfaces there is no diffusion. The greater the diffusing power of the reflecting surface, the smaller the specular component of the reflected light, up to the point where only diffuse light is produced. A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* DiffuseReflectionColour() const; - void setDiffuseReflectionColour(IfcColourRgb* v); + void DiffuseReflectionColour(IfcColourRgb* v); /// Describes how the light falling on a body is totally or partially transmitted. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* TransmissionColour() const; - void setTransmissionColour(IfcColourRgb* v); + void TransmissionColour(IfcColourRgb* v); /// A coefficient that determines the extent that the light falling onto a surface is fully or partially reflected. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. IfcColourRgb* ReflectanceColour() const; - void setReflectanceColour(IfcColourRgb* v); + void ReflectanceColour(IfcColourRgb* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcColourRgb; case 1: return Type::IfcColourRgb; case 2: return Type::IfcColourRgb; case 3: return Type::IfcColourRgb; } return IfcPresentationItem::getArgumentEntity(i); } @@ -12267,16 +11925,12 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcSurfaceStyleRefraction : public IfcPresentationItem { public: - /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction - bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - double RefractionIndex() const; - void setRefractionIndex(double v); - /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction - bool hasDispersionFactor() const; + boost::optional< double > RefractionIndex() const; + void RefractionIndex(boost::optional< double > v); /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - double DispersionFactor() const; - void setDispersionFactor(double v); + boost::optional< double > DispersionFactor() const; + void DispersionFactor(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcReal; case 1: return Type::IfcReal; } return IfcPresentationItem::getArgumentEntity(i); } @@ -12300,7 +11954,7 @@ class IfcSurfaceStyleShading : public IfcPresentationItem { public: /// The colour used to render the surface. The surface colour for visualisation is defined by specifying the intensity of red, green and blue. IfcColourRgb* SurfaceColour() const; - void setSurfaceColour(IfcColourRgb* v); + void SurfaceColour(IfcColourRgb* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcColourRgb; } return IfcPresentationItem::getArgumentEntity(i); } @@ -12335,7 +11989,7 @@ class IfcSurfaceStyleWithTextures : public IfcPresentationItem { public: /// The textures applied to the surface. In case of more than one surface texture is included, the IfcSurfaceStyleWithTexture defines a multi texture. IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Textures() const; - void setTextures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); + void Textures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurfaceTexture; } return IfcPresentationItem::getArgumentEntity(i); } @@ -12444,36 +12098,30 @@ class IfcSurfaceTexture : public IfcPresentationItem { public: /// The RepeatS field specifies how the texture wraps in the S direction. If RepeatS is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the S direction so that it fills the shape. If RepeatS is FALSE, the texture coordinates are clamped in the S direction to lie within the [0.0, 1.0] range. bool RepeatS() const; - void setRepeatS(bool v); + void RepeatS(bool v); /// The RepeatT field specifies how the texture wraps in the T direction. If RepeatT is TRUE (the default), the texture map is repeated outside the [0.0, 1.0] texture coordinate range in the T direction so that it fills the shape. If RepeatT is FALSE, the texture coordinates are clamped in the T direction to lie within the [0.0, 1.0] range. bool RepeatT() const; - void setRepeatT(bool v); - /// Whether the optional attribute Mode is defined for this IfcSurfaceTexture - bool hasMode() const; + void RepeatT(bool v); /// The Mode attribute is provided to control the appearance of a multi textures. The mode then controls the type of blending operation. The mode includes a MODULATE for a lit appearance, a REPLACE for a unlit appearance, and variations of the two. /// /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. /// /// IFC2x4 CHANGE  New attribute replacing previous TextureType. - std::string Mode() const; - void setMode(std::string v); - /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture - bool hasTextureTransform() const; + boost::optional< std::string > Mode() const; + void Mode(boost::optional< std::string > v); /// The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. /// /// Mirroring is not allowed to be used in the IfcCarteesianTransformationOperator - IfcCartesianTransformationOperator2D* TextureTransform() const; - void setTextureTransform(IfcCartesianTransformationOperator2D* v); - /// Whether the optional attribute Parameter is defined for this IfcSurfaceTexture - bool hasParameter() const; + boost::optional< IfcCartesianTransformationOperator2D* > TextureTransform() const; + void TextureTransform(boost::optional< IfcCartesianTransformationOperator2D* > v); /// The Parameter attribute is provided to control the appearance of a multi textures. The applicable parameters depend on the value of the Mode attribute. /// /// NOTE  The applicable values for the list of Parameter attributes are determined by view definitions or implementer agreements. It is recommended to use the source and the function fields described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.3 MultiTexture for recommended values. /// By convention, Parameter[1] shall then hold the source value, Parameter[2] the function value, Parameter[3] the base RGB color for select operations, and Parameter[4] the alpha value for select operations. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< std::string > /*[1:?]*/ Parameter() const; - void setParameter(std::vector< std::string > /*[1:?]*/ v); + boost::optional< std::vector< std::string > /*[1:?]*/ > Parameter() const; + void Parameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_BOOL; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_VECTOR_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcIdentifier; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcIdentifier; } return IfcPresentationItem::getArgumentEntity(i); } @@ -12485,7 +12133,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceTexture (IfcAbstractEntity* e); - IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); typedef IfcTemplatedEntityList< IfcSurfaceTexture > list; }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. @@ -12505,21 +12153,15 @@ public: /// IFC2x4 CHANGE  Columns attribute added. class IfcTable : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcTable - bool hasName() const; /// A unique name which is intended to describe the usage of the Table. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Rows is defined for this IfcTable - bool hasRows() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Reference to information content of rows. - IfcTemplatedEntityList< IfcTableRow >::ptr Rows() const; - void setRows(IfcTemplatedEntityList< IfcTableRow >::ptr v); - /// Whether the optional attribute Columns is defined for this IfcTable - bool hasColumns() const; + boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > Rows() const; + void Rows(boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v); /// The column information associated with this table. - IfcTemplatedEntityList< IfcTableColumn >::ptr Columns() const; - void setColumns(IfcTemplatedEntityList< IfcTableColumn >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > Columns() const; + void Columns(boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcTableRow; case 2: return Type::IfcTableColumn; } throw IfcParse::IfcException("argument out of range"); } @@ -12539,30 +12181,20 @@ public: /// HISTORY  New entity in IFC2x4. class IfcTableColumn : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Identifier is defined for this IfcTableColumn - bool hasIdentifier() const; /// Table column identifier. - std::string Identifier() const; - void setIdentifier(std::string v); - /// Whether the optional attribute Name is defined for this IfcTableColumn - bool hasName() const; + boost::optional< std::string > Identifier() const; + void Identifier(boost::optional< std::string > v); /// The table column display name. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcTableColumn - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Descriptive text for the table column. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Unit is defined for this IfcTableColumn - bool hasUnit() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The unit of measure to be used for this column's data. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); - /// Whether the optional attribute ReferencePath is defined for this IfcTableColumn - bool hasReferencePath() const; - IfcReference* ReferencePath() const; - void setReferencePath(IfcReference* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); + boost::optional< IfcReference* > ReferencePath() const; + void ReferencePath(boost::optional< IfcReference* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcUnit; case 4: return Type::IfcReference; } throw IfcParse::IfcException("argument out of range"); } @@ -12572,7 +12204,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTableColumn (IfcAbstractEntity* e); - IfcTableColumn (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, IfcUnit* v4_Unit, IfcReference* v5_ReferencePath); + IfcTableColumn (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcUnit* > v4_Unit, boost::optional< IfcReference* > v5_ReferencePath); typedef IfcTemplatedEntityList< IfcTableColumn > list; }; /// IfcTableRow contains data for a single row within an IfcTable. @@ -12590,16 +12222,12 @@ public: /// HISTORY  New entity in IFC R1.5. class IfcTableRow : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute RowCells is defined for this IfcTableRow - bool hasRowCells() const; /// The data value of the table cell.. - IfcEntityList::ptr RowCells() const; - void setRowCells(IfcEntityList::ptr v); - /// Whether the optional attribute IsHeading is defined for this IfcTableRow - bool hasIsHeading() const; + boost::optional< IfcEntityList::ptr > RowCells() const; + void RowCells(boost::optional< IfcEntityList::ptr > v); /// Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE. - bool IsHeading() const; - void setIsHeading(bool v); + boost::optional< bool > IsHeading() const; + void IsHeading(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::UNDEFINED; } throw IfcParse::IfcException("argument out of range"); } @@ -12623,14 +12251,10 @@ public: /// IfcTaskTime furthermore provides a generic mechanism to differentiate between user given time values and time values derived from user given time values and other constraints such as work calendars and assigned resources. class IfcTaskTime : public IfcSchedulingTime { public: - /// Whether the optional attribute DurationType is defined for this IfcTaskTime - bool hasDurationType() const; /// Enables to specify the type of duration values for ScheduleDuration, ActualDuration and RemainingTime. The duration type is either /// work time or elapsed time. - IfcTaskDurationEnum::IfcTaskDurationEnum DurationType() const; - void setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v); - /// Whether the optional attribute ScheduleDuration is defined for this IfcTaskTime - bool hasScheduleDuration() const; + boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > DurationType() const; + void DurationType(boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v); /// The amount of time which is scheduled for completion of a /// task. /// The value might be measured or somehow calculated, which is defined by @@ -12640,57 +12264,41 @@ public: /// /// NOTE: Scheduled Duration may be calculated as the /// time from scheduled start date to scheduled finish date. - std::string ScheduleDuration() const; - void setScheduleDuration(std::string v); - /// Whether the optional attribute ScheduleStart is defined for this IfcTaskTime - bool hasScheduleStart() const; + boost::optional< std::string > ScheduleDuration() const; + void ScheduleDuration(boost::optional< std::string > v); /// The date on which a task is scheduled to be started. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. /// /// NOTE: The scheduled start date must be greater than /// or equal to the earliest start date. - std::string ScheduleStart() const; - void setScheduleStart(std::string v); - /// Whether the optional attribute ScheduleFinish is defined for this IfcTaskTime - bool hasScheduleFinish() const; + boost::optional< std::string > ScheduleStart() const; + void ScheduleStart(boost::optional< std::string > v); /// The date on which a task is scheduled to be finished. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. /// /// NOTE: The scheduled finish date must be greater than /// or equal to the earliest finish date. - std::string ScheduleFinish() const; - void setScheduleFinish(std::string v); - /// Whether the optional attribute EarlyStart is defined for this IfcTaskTime - bool hasEarlyStart() const; + boost::optional< std::string > ScheduleFinish() const; + void ScheduleFinish(boost::optional< std::string > v); /// The earliest date on which a task can be started. It is a calculated value. - std::string EarlyStart() const; - void setEarlyStart(std::string v); - /// Whether the optional attribute EarlyFinish is defined for this IfcTaskTime - bool hasEarlyFinish() const; + boost::optional< std::string > EarlyStart() const; + void EarlyStart(boost::optional< std::string > v); /// The earliest date on which a task can be finished. It is a calculated value. - std::string EarlyFinish() const; - void setEarlyFinish(std::string v); - /// Whether the optional attribute LateStart is defined for this IfcTaskTime - bool hasLateStart() const; + boost::optional< std::string > EarlyFinish() const; + void EarlyFinish(boost::optional< std::string > v); /// The latest date on which a task can be started. It is a calculated value. - std::string LateStart() const; - void setLateStart(std::string v); - /// Whether the optional attribute LateFinish is defined for this IfcTaskTime - bool hasLateFinish() const; + boost::optional< std::string > LateStart() const; + void LateStart(boost::optional< std::string > v); /// The latest date on which a task can be finished. It is a calculated value. - std::string LateFinish() const; - void setLateFinish(std::string v); - /// Whether the optional attribute FreeFloat is defined for this IfcTaskTime - bool hasFreeFloat() const; + boost::optional< std::string > LateFinish() const; + void LateFinish(boost::optional< std::string > v); /// The amount of time during which the start or finish of a /// task may be varied without any effect on the overall /// programme of work. It is a calculated elapsed time value. - std::string FreeFloat() const; - void setFreeFloat(std::string v); - /// Whether the optional attribute TotalFloat is defined for this IfcTaskTime - bool hasTotalFloat() const; + boost::optional< std::string > FreeFloat() const; + void FreeFloat(boost::optional< std::string > v); /// The difference between the duration available to carry out /// a task and the scheduled duration of the task. It is a calculated /// elapsed time value. @@ -12701,32 +12309,24 @@ public: /// finish. Float time may be either positive, zero or /// negative. Where it is zero or negative, the task becomes /// critical. - std::string TotalFloat() const; - void setTotalFloat(std::string v); - /// Whether the optional attribute IsCritical is defined for this IfcTaskTime - bool hasIsCritical() const; + boost::optional< std::string > TotalFloat() const; + void TotalFloat(boost::optional< std::string > v); /// A flag which identifies whether a scheduled task is a /// critical item within the programme. /// /// NOTE: A task becomes critical when the float time /// becomes zero or negative. - bool IsCritical() const; - void setIsCritical(bool v); - /// Whether the optional attribute StatusTime is defined for this IfcTaskTime - bool hasStatusTime() const; + boost::optional< bool > IsCritical() const; + void IsCritical(boost::optional< bool > v); /// The date or time at which the status of the tasks within /// the schedule is analyzed. - std::string StatusTime() const; - void setStatusTime(std::string v); - /// Whether the optional attribute ActualDuration is defined for this IfcTaskTime - bool hasActualDuration() const; + boost::optional< std::string > StatusTime() const; + void StatusTime(boost::optional< std::string > v); /// The actual duration of the task. It is a measured value. /// The value is either given as elapsed time or work time, which is defined by /// DurationType. - std::string ActualDuration() const; - void setActualDuration(std::string v); - /// Whether the optional attribute ActualStart is defined for this IfcTaskTime - bool hasActualStart() const; + boost::optional< std::string > ActualDuration() const; + void ActualDuration(boost::optional< std::string > v); /// The date on which a task is actually started. It is a measured value. /// /// NOTE: The scheduled start date must be greater than @@ -12734,15 +12334,11 @@ public: /// applied to the actual start date with respect to the /// scheduled start date since a task may be started earlier /// than had originally been scheduled if circumstances allow. - std::string ActualStart() const; - void setActualStart(std::string v); - /// Whether the optional attribute ActualFinish is defined for this IfcTaskTime - bool hasActualFinish() const; + boost::optional< std::string > ActualStart() const; + void ActualStart(boost::optional< std::string > v); /// The date on which a task is actually finished. - std::string ActualFinish() const; - void setActualFinish(std::string v); - /// Whether the optional attribute RemainingTime is defined for this IfcTaskTime - bool hasRemainingTime() const; + boost::optional< std::string > ActualFinish() const; + void ActualFinish(boost::optional< std::string > v); /// The amount of time remaining to complete a task. It is a predicted value. /// The value is either given as elapsed time or work time, which is defined by /// DurationType. @@ -12754,14 +12350,12 @@ public: /// task already started, remaining time is calculated as the /// difference between the scheduled finish and the point of /// analysis. - std::string RemainingTime() const; - void setRemainingTime(std::string v); - /// Whether the optional attribute Completion is defined for this IfcTaskTime - bool hasCompletion() const; + boost::optional< std::string > RemainingTime() const; + void RemainingTime(boost::optional< std::string > v); /// The extent of completion expressed as a ratio or percentage. /// It is a measured value. - double Completion() const; - void setCompletion(double v); + boost::optional< double > Completion() const; + void Completion(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_BOOL; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_STRING; case 17: return IfcUtil::Argument_STRING; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTaskDurationEnum; case 4: return Type::IfcDuration; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcDateTime; case 8: return Type::IfcDateTime; case 9: return Type::IfcDateTime; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcDuration; case 13: return Type::UNDEFINED; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcDateTime; case 17: return Type::IfcDateTime; case 18: return Type::IfcDuration; case 19: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } @@ -12780,7 +12374,7 @@ public: class IfcTaskTimeRecurring : public IfcTaskTime { public: IfcRecurrencePattern* Recurrance() const; - void setRecurrance(IfcRecurrencePattern* v); + void Recurrance(IfcRecurrencePattern* v); virtual unsigned int getArgumentCount() const { return 21; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 20: return IfcUtil::Argument_ENTITY; } return IfcTaskTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 20: return Type::IfcRecurrencePattern; } return IfcTaskTime::getArgumentEntity(i); } @@ -12801,39 +12395,27 @@ public: /// Type of attribute WWWHomePageURL compatibly changed from IfcLabel to IfcURIReference. class IfcTelecomAddress : public IfcAddress { public: - /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress - bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< std::string > /*[1:?]*/ TelephoneNumbers() const; - void setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress - bool hasFacsimileNumbers() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > TelephoneNumbers() const; + void TelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The list of fax numbers at which fax messages may be received. - std::vector< std::string > /*[1:?]*/ FacsimileNumbers() const; - void setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress - bool hasPagerNumber() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > FacsimileNumbers() const; + void FacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The pager number at which paging messages may be received. - std::string PagerNumber() const; - void setPagerNumber(std::string v); - /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress - bool hasElectronicMailAddresses() const; + boost::optional< std::string > PagerNumber() const; + void PagerNumber(boost::optional< std::string > v); /// The list of Email addresses at which Email messages may be received. - std::vector< std::string > /*[1:?]*/ ElectronicMailAddresses() const; - void setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress - bool hasWWWHomePageURL() const; + boost::optional< std::vector< std::string > /*[1:?]*/ > ElectronicMailAddresses() const; + void ElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v); /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - std::string WWWHomePageURL() const; - void setWWWHomePageURL(std::string v); - /// Whether the optional attribute MessagingIDs is defined for this IfcTelecomAddress - bool hasMessagingIDs() const; + boost::optional< std::string > WWWHomePageURL() const; + void WWWHomePageURL(boost::optional< std::string > v); /// IDs or addresses for any other means of telecommunication, for example instant messaging, voice-over-IP, or file transfer protocols. The communication protocol is indicated by the URI value with scheme designations such as irc:, sip:, or ftp:. - std::vector< std::string > /*[1:?]*/ MessagingIDs() const; - void setMessagingIDs(std::vector< std::string > /*[1:?]*/ v); + boost::optional< std::vector< std::string > /*[1:?]*/ > MessagingIDs() const; + void MessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_VECTOR_STRING; } return IfcAddress::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcURIReference; case 8: return Type::IfcURIReference; } return IfcAddress::getArgumentEntity(i); } @@ -12876,29 +12458,23 @@ public: /// IFC2x3 CHANGE  The IfcTextStyle has been changed by adding TextFontStyle and different data types for TextStyle and IfcCharacterStyleSelect. class IfcTextStyle : public IfcPresentationStyle { public: - /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle - bool hasTextCharacterAppearance() const; /// A character style to be used for presented text. - IfcTextStyleForDefinedFont* TextCharacterAppearance() const; - void setTextCharacterAppearance(IfcTextStyleForDefinedFont* v); - /// Whether the optional attribute TextStyle is defined for this IfcTextStyle - bool hasTextStyle() const; + boost::optional< IfcTextStyleForDefinedFont* > TextCharacterAppearance() const; + void TextCharacterAppearance(boost::optional< IfcTextStyleForDefinedFont* > v); /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// /// IFC2x Edition 3 CHANGE  The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. - IfcTextStyleTextModel* TextStyle() const; - void setTextStyle(IfcTextStyleTextModel* v); + boost::optional< IfcTextStyleTextModel* > TextStyle() const; + void TextStyle(boost::optional< IfcTextStyleTextModel* > v); /// The style applied to the text font for its visual appearance. /// It defines the font family, font style, weight and size. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute TextFontStyle is a new attribute attached to IfcTextStyle. IfcTextFontSelect* TextFontStyle() const; - void setTextFontStyle(IfcTextFontSelect* v); - /// Whether the optional attribute ModelOrDraughting is defined for this IfcTextStyle - bool hasModelOrDraughting() const; - bool ModelOrDraughting() const; - void setModelOrDraughting(bool v); + void TextFontStyle(IfcTextFontSelect* v); + boost::optional< bool > ModelOrDraughting() const; + void ModelOrDraughting(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTextStyleForDefinedFont; case 2: return Type::IfcTextStyleTextModel; case 3: return Type::IfcTextFontSelect; case 4: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -12908,7 +12484,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyle (IfcAbstractEntity* e); - IfcTextStyle (boost::optional< std::string > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting); + IfcTextStyle (boost::optional< std::string > v1_Name, boost::optional< IfcTextStyleForDefinedFont* > v2_TextCharacterAppearance, boost::optional< IfcTextStyleTextModel* > v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting); typedef IfcTemplatedEntityList< IfcTextStyle > list; }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. @@ -12932,12 +12508,10 @@ class IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). IfcColour* Colour() const; - void setColour(IfcColour* v); - /// Whether the optional attribute BackgroundColour is defined for this IfcTextStyleForDefinedFont - bool hasBackgroundColour() const; + void Colour(IfcColour* v); /// This property sets the background color of an element. - IfcColour* BackgroundColour() const; - void setBackgroundColour(IfcColour* v); + boost::optional< IfcColour* > BackgroundColour() const; + void BackgroundColour(boost::optional< IfcColour* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcColour; case 1: return Type::IfcColour; } return IfcPresentationItem::getArgumentEntity(i); } @@ -12947,7 +12521,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleForDefinedFont (IfcAbstractEntity* e); - IfcTextStyleForDefinedFont (IfcColour* v1_Colour, IfcColour* v2_BackgroundColour); + IfcTextStyleForDefinedFont (IfcColour* v1_Colour, boost::optional< IfcColour* > v2_BackgroundColour); typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont > list; }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. @@ -12959,48 +12533,34 @@ public: /// HISTORY  New entity in IFC2x3. class IfcTextStyleTextModel : public IfcPresentationItem { public: - /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel - bool hasTextIndent() const; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect* TextIndent() const; - void setTextIndent(IfcSizeSelect* v); - /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel - bool hasTextAlign() const; + boost::optional< IfcSizeSelect* > TextIndent() const; + void TextIndent(boost::optional< IfcSizeSelect* > v); /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - std::string TextAlign() const; - void setTextAlign(std::string v); - /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel - bool hasTextDecoration() const; + boost::optional< std::string > TextAlign() const; + void TextAlign(boost::optional< std::string > v); /// This property describes decorations that are added to the text of an element. - std::string TextDecoration() const; - void setTextDecoration(std::string v); - /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel - bool hasLetterSpacing() const; + boost::optional< std::string > TextDecoration() const; + void TextDecoration(boost::optional< std::string > v); /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. - IfcSizeSelect* LetterSpacing() const; - void setLetterSpacing(IfcSizeSelect* v); - /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel - bool hasWordSpacing() const; + boost::optional< IfcSizeSelect* > LetterSpacing() const; + void LetterSpacing(boost::optional< IfcSizeSelect* > v); /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect* WordSpacing() const; - void setWordSpacing(IfcSizeSelect* v); - /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel - bool hasTextTransform() const; + boost::optional< IfcSizeSelect* > WordSpacing() const; + void WordSpacing(boost::optional< IfcSizeSelect* > v); /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. /// NOTE  It has been introduced for later compliance to full CSS1 support. - std::string TextTransform() const; - void setTextTransform(std::string v); - /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel - bool hasLineHeight() const; + boost::optional< std::string > TextTransform() const; + void TextTransform(boost::optional< std::string > v); /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. - IfcSizeSelect* LineHeight() const; - void setLineHeight(IfcSizeSelect* v); + boost::optional< IfcSizeSelect* > LineHeight() const; + void LineHeight(boost::optional< IfcSizeSelect* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSizeSelect; case 1: return Type::IfcTextAlignment; case 2: return Type::IfcTextDecoration; case 3: return Type::IfcSizeSelect; case 4: return Type::IfcSizeSelect; case 5: return Type::IfcTextTransformation; case 6: return Type::IfcSizeSelect; } return IfcPresentationItem::getArgumentEntity(i); } @@ -13010,7 +12570,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleTextModel (IfcAbstractEntity* e); - IfcTextStyleTextModel (IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight); + IfcTextStyleTextModel (boost::optional< IfcSizeSelect* > v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, boost::optional< IfcSizeSelect* > v4_LetterSpacing, boost::optional< IfcSizeSelect* > v5_WordSpacing, boost::optional< std::string > v6_TextTransform, boost::optional< IfcSizeSelect* > v7_LineHeight); typedef IfcTemplatedEntityList< IfcTextStyleTextModel > list; }; /// The IfcTextureCoordinate a an abstract supertype of the different kinds to apply texture coordinates to geometries. For vertex based geometries an explicit assignment of 2D texture vertices to the 3D geometry points is supported by the subtype IfcTextureMap, in addition there can be a procedural description of how texture coordinates shall be applied to geometric items. If no IfcTextureCoordinate is provided for the IfcSurfaceTexture, the default mapping shall be used. @@ -13027,7 +12587,7 @@ public: class IfcTextureCoordinate : public IfcPresentationItem { public: IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Maps() const; - void setMaps(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); + void Maps(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurfaceTexture; } return IfcPresentationItem::getArgumentEntity(i); } @@ -13072,14 +12632,12 @@ public: /// /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. std::string Mode() const; - void setMode(std::string v); - /// Whether the optional attribute Parameter is defined for this IfcTextureCoordinateGenerator - bool hasParameter() const; + void Mode(std::string v); /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - std::vector< double > /*[1:?]*/ Parameter() const; - void setParameter(std::vector< double > /*[1:?]*/ v); + boost::optional< std::vector< double > /*[1:?]*/ > Parameter() const; + void Parameter(boost::optional< std::vector< double > /*[1:?]*/ > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcTextureCoordinate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLabel; case 2: return Type::IfcReal; } return IfcTextureCoordinate::getArgumentEntity(i); } @@ -13149,9 +12707,9 @@ public: /// /// NOTE  The corresponding face bound may be an inner loop. IfcTemplatedEntityList< IfcTextureVertex >::ptr Vertices() const; - void setVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); + void Vertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); IfcFace* MappedTo() const; - void setMappedTo(IfcFace* v); + void MappedTo(IfcFace* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } return IfcTextureCoordinate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTextureVertex; case 2: return Type::IfcFace; } return IfcTextureCoordinate::getArgumentEntity(i); } @@ -13195,7 +12753,7 @@ class IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. std::vector< double > /*[2:2]*/ Coordinates() const; - void setCoordinates(std::vector< double > /*[2:2]*/ v); + void Coordinates(std::vector< double > /*[2:2]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcParameterValue; } return IfcPresentationItem::getArgumentEntity(i); } @@ -13233,10 +12791,10 @@ class IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. std::string StartTime() const; - void setStartTime(std::string v); + void StartTime(std::string v); /// End time of the time period. std::string EndTime() const; - void setEndTime(std::string v); + void EndTime(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTime; case 1: return Type::IfcTime; } throw IfcParse::IfcException("argument out of range"); } @@ -13258,34 +12816,28 @@ class IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcTimeSeries - bool hasDescription() const; + void Name(std::string v); /// A text description of the data that the series represents. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The start time of a time series. std::string StartTime() const; - void setStartTime(std::string v); + void StartTime(std::string v); /// The end time of a time series. std::string EndTime() const; - void setEndTime(std::string v); + void EndTime(std::string v); /// The time series data type. IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType() const; - void setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); + void TimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); /// The orgin of a time series data. IfcDataOriginEnum::IfcDataOriginEnum DataOrigin() const; - void setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); - /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries - bool hasUserDefinedDataOrigin() const; + void DataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); /// Value of the data origin if DataOrigin attribute is USERDEFINED. - std::string UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(std::string v); - /// Whether the optional attribute Unit is defined for this IfcTimeSeries - bool hasUnit() const; + boost::optional< std::string > UserDefinedDataOrigin() const; + void UserDefinedDataOrigin(boost::optional< std::string > v); /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcDateTime; case 3: return Type::IfcDateTime; case 4: return Type::IfcTimeSeriesDataTypeEnum; case 5: return Type::IfcDataOriginEnum; case 6: return Type::IfcLabel; case 7: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -13296,7 +12848,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTimeSeries (IfcAbstractEntity* e); - IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit); + IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit); typedef IfcTemplatedEntityList< IfcTimeSeries > list; }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: @@ -13312,7 +12864,7 @@ class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); + void ListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; } throw IfcParse::IfcException("argument out of range"); } @@ -13401,7 +12953,7 @@ class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. IfcEntityList::ptr Units() const; - void setUnits(IfcEntityList::ptr v); + void Units(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcUnit; } throw IfcParse::IfcException("argument out of range"); } @@ -13451,7 +13003,7 @@ class IfcVertexPoint : public IfcVertex { public: /// The geometric point, which defines the position in geometric space of the vertex. IfcPoint* VertexGeometry() const; - void setVertexGeometry(IfcPoint* v); + void VertexGeometry(IfcPoint* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcVertex::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPoint; } return IfcVertex::getArgumentEntity(i); } @@ -13527,10 +13079,10 @@ class IfcVirtualGridIntersection : public IfcUtil::IfcBaseEntity { public: /// Two grid axes which intersects at exactly one intersection (see also informal proposition at IfcGrid). If attribute OffsetDistances is omitted, the intersection defines the placement or ref direction of a grid placement directly. If OffsetDistances are given, the intersection is defined by the offset curves to the grid axes. IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; - void setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); + void IntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection. std::vector< double > /*[2:3]*/ OffsetDistances() const; - void setOffsetDistances(std::vector< double > /*[2:3]*/ v); + void OffsetDistances(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGridAxis; case 1: return Type::IfcLengthMeasure; } throw IfcParse::IfcException("argument out of range"); } @@ -13553,25 +13105,19 @@ public: /// The start and finish date is optional if a recurrence pattern is given (IfcWorkTime.RecurrencePattern). They then restrict never-ending recurrence patterns. class IfcWorkTime : public IfcSchedulingTime { public: - /// Whether the optional attribute RecurrencePattern is defined for this IfcWorkTime - bool hasRecurrencePattern() const; /// Recurrence pattern that defines a time period, which, if given, is /// valid within the time period defined by /// IfcWorkTime.Start and IfcWorkTime.Finish. - IfcRecurrencePattern* RecurrencePattern() const; - void setRecurrencePattern(IfcRecurrencePattern* v); - /// Whether the optional attribute Start is defined for this IfcWorkTime - bool hasStart() const; + boost::optional< IfcRecurrencePattern* > RecurrencePattern() const; + void RecurrencePattern(boost::optional< IfcRecurrencePattern* > v); /// Start date of the work time (0:00), that might be further /// restricted by a recurrence pattern. - std::string Start() const; - void setStart(std::string v); - /// Whether the optional attribute Finish is defined for this IfcWorkTime - bool hasFinish() const; + boost::optional< std::string > Start() const; + void Start(boost::optional< std::string > v); /// End date of the work time (24:00), that might be further /// restricted by a recurrence pattern. - std::string Finish() const; - void setFinish(std::string v); + boost::optional< std::string > Finish() const; + void Finish(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcSchedulingTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcRecurrencePattern; case 4: return Type::IfcDate; case 5: return Type::IfcDate; } return IfcSchedulingTime::getArgumentEntity(i); } @@ -13581,7 +13127,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkTime (IfcAbstractEntity* e); - IfcWorkTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish); + IfcWorkTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcRecurrencePattern* > v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish); typedef IfcTemplatedEntityList< IfcWorkTime > list; }; /// An IfcApprovalRelationship associates approvals (one @@ -13595,10 +13141,10 @@ class IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. IfcApproval* RelatingApproval() const; - void setRelatingApproval(IfcApproval* v); + void RelatingApproval(IfcApproval* v); /// The approvals that are related to another (relating) approval.IFC2x Edition 4 CHANGE The cardinality of this attribute has been changed to SET. IfcTemplatedEntityList< IfcApproval >::ptr RelatedApprovals() const; - void setRelatedApprovals(IfcTemplatedEntityList< IfcApproval >::ptr v); + void RelatedApprovals(IfcTemplatedEntityList< IfcApproval >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcApproval; case 3: return Type::IfcApproval; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -13633,7 +13179,7 @@ class IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. IfcCurve* OuterCurve() const; - void setOuterCurve(IfcCurve* v); + void OuterCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; } return IfcProfileDef::getArgumentEntity(i); } @@ -13665,7 +13211,7 @@ class IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. IfcBoundedCurve* Curve() const; - void setCurve(IfcBoundedCurve* v); + void Curve(IfcBoundedCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcBoundedCurve; } return IfcProfileDef::getArgumentEntity(i); } @@ -13701,7 +13247,7 @@ class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. IfcTemplatedEntityList< IfcCurve >::ptr InnerCurves() const; - void setInnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v); + void InnerCurves(IfcTemplatedEntityList< IfcCurve >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcArbitraryClosedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcCurve; } return IfcArbitraryClosedProfileDef::getArgumentEntity(i); } @@ -13727,7 +13273,7 @@ class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. std::string RasterFormat() const; - void setRasterFormat(std::string v); + void RasterFormat(std::string v); /// Blob, given as a single binary, to capture the texture within one popular file (compression) format. The file format is provided by the RasterFormat attribute. virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_UNKNOWN; } return IfcSurfaceTexture::getArgumentType(i); } @@ -13738,7 +13284,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBlobTexture (IfcAbstractEntity* e); - IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat); + IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat); typedef IfcTemplatedEntityList< IfcBlobTexture > list; }; /// The profile IfcCenterLineProfileDef defines an arbitrary two-dimensional open, not self intersecting profile for the use within the swept solid geometry. It is given by an area defined by applying a constant thickness to a centerline, generating an area from which the solid can be constructed. @@ -13774,7 +13320,7 @@ class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. double Thickness() const; - void setThickness(double v); + void Thickness(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcArbitraryOpenProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; } return IfcArbitraryOpenProfileDef::getArgumentEntity(i); } @@ -13804,52 +13350,40 @@ public: /// Referencing the classification system by a classification key or id: Here the IfcClassificationReference is used to assign a classification id or key to each classified object. class IfcClassification : public IfcExternalInformation { public: - /// Whether the optional attribute Source is defined for this IfcClassification - bool hasSource() const; /// Source (or publisher) for this classification. /// /// NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher. - std::string Source() const; - void setSource(std::string v); - /// Whether the optional attribute Edition is defined for this IfcClassification - bool hasEdition() const; + boost::optional< std::string > Source() const; + void Source(boost::optional< std::string > v); /// The edition or version of the classification system from which the classification notation is derived. /// /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. - std::string Edition() const; - void setEdition(std::string v); - /// Whether the optional attribute EditionDate is defined for this IfcClassification - bool hasEditionDate() const; + boost::optional< std::string > Edition() const; + void Edition(boost::optional< std::string > v); /// The date on which the edition of the classification used became valid. /// /// NOTE The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - std::string EditionDate() const; - void setEditionDate(std::string v); + boost::optional< std::string > EditionDate() const; + void EditionDate(boost::optional< std::string > v); /// The name or label by which the classification used is normally known. /// /// NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcClassification - bool hasDescription() const; + void Name(std::string v); /// Additional description provided for the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Location is defined for this IfcClassification - bool hasLocation() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Resource identifier or locator, provided as URI, URN or URL, of the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute ReferenceTokens is defined for this IfcClassification - bool hasReferenceTokens() const; + boost::optional< std::string > Location() const; + void Location(boost::optional< std::string > v); /// The delimiter tokens that are used to mark the boundaries of individual facets (substrings) in a classification reference. /// /// This typically applies then the IfcClassification is used in @@ -13862,8 +13396,8 @@ public: /// EXAMPLE 2  The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a "mask syntax" that should be used. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< std::string > /*[1:?]*/ ReferenceTokens() const; - void setReferenceTokens(std::vector< std::string > /*[1:?]*/ v); + boost::optional< std::vector< std::string > /*[1:?]*/ > ReferenceTokens() const; + void ReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; } return IfcExternalInformation::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcLabel; case 2: return Type::IfcDate; case 3: return Type::IfcLabel; case 4: return Type::IfcText; case 5: return Type::IfcURIReference; case 6: return Type::IfcIdentifier; } return IfcExternalInformation::getArgumentEntity(i); } @@ -13901,22 +13435,16 @@ public: /// The IfcClassificationReference can be used as a form of 'lightweight' classification through the 'Identification' attribute inherited from the abstract IfcExternalReference class. In this case, the 'Identification' could take (for instance) the Uniclass notation "L6814" which, if the classification was well understood by all parties and was known to be taken from a particular classification source, would be sufficient. The Name attribute could be the title "Tanking". This would remove the need for the overhead of the more complete classification structure of the model. class IfcClassificationReference : public IfcExternalReference { public: - /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference - bool hasReferencedSource() const; /// The classification system or source that is referenced. - IfcClassificationReferenceSelect* ReferencedSource() const; - void setReferencedSource(IfcClassificationReferenceSelect* v); - /// Whether the optional attribute Description is defined for this IfcClassificationReference - bool hasDescription() const; + boost::optional< IfcClassificationReferenceSelect* > ReferencedSource() const; + void ReferencedSource(boost::optional< IfcClassificationReferenceSelect* > v); /// Description of the classification reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Sort is defined for this IfcClassificationReference - bool hasSort() const; - std::string Sort() const; - void setSort(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); + boost::optional< std::string > Sort() const; + void Sort(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcExternalReference::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcClassificationReferenceSelect; case 4: return Type::IfcText; case 5: return Type::IfcIdentifier; } return IfcExternalReference::getArgumentEntity(i); } @@ -13928,7 +13456,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationReference (IfcAbstractEntity* e); - IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort); + IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< IfcClassificationReferenceSelect* > v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort); typedef IfcTemplatedEntityList< IfcClassificationReference > list; }; @@ -13953,14 +13481,12 @@ public: /// HISTORY  New entity in IFC2x2. class IfcColourSpecification : public IfcPresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcColourSpecification - bool hasName() const; /// Optional name given to a particular colour specification in addition to the colour components (like the RGB values). /// /// NOTE  Examples are the names of a industry colour classification, such as RAL. /// IFC2x Edition 3 CHANGE  Attribute added. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } return IfcPresentationItem::getArgumentEntity(i); } @@ -14013,12 +13539,10 @@ class IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. IfcTemplatedEntityList< IfcProfileDef >::ptr Profiles() const; - void setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v); - /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef - bool hasLabel() const; + void Profiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v); /// The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications. - std::string Label() const; - void setLabel(std::string v); + boost::optional< std::string > Label() const; + void Label(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcProfileDef; case 3: return Type::IfcLabel; } return IfcProfileDef::getArgumentEntity(i); } @@ -14044,7 +13568,7 @@ class IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. IfcTemplatedEntityList< IfcFace >::ptr CfsFaces() const; - void setCfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v); + void CfsFaces(IfcTemplatedEntityList< IfcFace >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcFace; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -14074,12 +13598,10 @@ class IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; - void setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v); - /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry - bool hasCurveOnRelatedElement() const; + void CurveOnRelatingElement(IfcCurveOrEdgeCurve* v); /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcCurveOrEdgeCurve* CurveOnRelatedElement() const; - void setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v); + boost::optional< IfcCurveOrEdgeCurve* > CurveOnRelatedElement() const; + void CurveOnRelatedElement(boost::optional< IfcCurveOrEdgeCurve* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurveOrEdgeCurve; case 1: return Type::IfcCurveOrEdgeCurve; } return IfcConnectionGeometry::getArgumentEntity(i); } @@ -14089,7 +13611,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionCurveGeometry (IfcAbstractEntity* e); - IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve* > v2_CurveOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry > list; }; /// IfcConnectionPointEccentricity is used to describe the geometric constraints that facilitate the physical connection of two objects at a point or vertex point with associated point coordinates. There is a physical distance, or eccentricity, etween the connection points of both object. The eccentricity can be either given by: @@ -14113,21 +13635,15 @@ public: /// The IfcPoint (or the IfcVertexPoint with an associated IfcPoint) at the PointOnRelatingElement attribute defines the point where the basic geometry items of the connected elements connects. The point coordinates are provided within the local coordinate system of the RelatingElement, as specified at the IfcRelConnects subtype that utilizes the IfcConnectionPointGeometry. Optionally, the same point coordinates can also be provided within the local coordinate system of the RelatedElement by using the PointOnRelatedElement attribute, otherwise the distance to the point at the RelatedElement has to be given by the three eccentricity values. class IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: - /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInX() const; - void setEccentricityInX(double v); - /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInY() const; + boost::optional< double > EccentricityInX() const; + void EccentricityInX(boost::optional< double > v); /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInY() const; - void setEccentricityInY(double v); - /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInZ() const; + boost::optional< double > EccentricityInY() const; + void EccentricityInY(boost::optional< double > v); /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - double EccentricityInZ() const; - void setEccentricityInZ(double v); + boost::optional< double > EccentricityInZ() const; + void EccentricityInZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcConnectionPointGeometry::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcLengthMeasure; } return IfcConnectionPointGeometry::getArgumentEntity(i); } @@ -14137,7 +13653,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointEccentricity (IfcAbstractEntity* e); - IfcConnectionPointEccentricity (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ); + IfcConnectionPointEccentricity (IfcPointOrVertexPoint* v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint* > v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ); typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity > list; }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. @@ -14151,7 +13667,7 @@ class IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; } return IfcNamedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLabel; } return IfcNamedUnit::getArgumentEntity(i); } @@ -14216,10 +13732,10 @@ class IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. std::string Name() const; - void setName(std::string v); + void Name(std::string v); /// The physical quantity from which the converted unit is derived. IfcMeasureWithUnit* ConversionFactor() const; - void setConversionFactor(IfcMeasureWithUnit* v); + void ConversionFactor(IfcMeasureWithUnit* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcNamedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcLabel; case 3: return Type::IfcMeasureWithUnit; } return IfcNamedUnit::getArgumentEntity(i); } @@ -14255,7 +13771,7 @@ class IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. double ConversionOffset() const; - void setConversionOffset(double v); + void ConversionOffset(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcConversionBasedUnit::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcReal; } return IfcConversionBasedUnit::getArgumentEntity(i); } @@ -14283,25 +13799,21 @@ class IfcCurrencyRelationship : public IfcResourceLevelRelationship { public: /// The monetary unit from which an exchange is derived. For instance, in the case of a conversion from GBP to USD, the relating monetary unit is GBP. IfcMonetaryUnit* RelatingMonetaryUnit() const; - void setRelatingMonetaryUnit(IfcMonetaryUnit* v); + void RelatingMonetaryUnit(IfcMonetaryUnit* v); /// The monetary unit to which an exchange results. For instance, in the case of a conversion from GBP to USD, the related monetary unit is USD. IfcMonetaryUnit* RelatedMonetaryUnit() const; - void setRelatedMonetaryUnit(IfcMonetaryUnit* v); + void RelatedMonetaryUnit(IfcMonetaryUnit* v); /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). double ExchangeRate() const; - void setExchangeRate(double v); - /// Whether the optional attribute RateDateTime is defined for this IfcCurrencyRelationship - bool hasRateDateTime() const; + void ExchangeRate(double v); /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. - std::string RateDateTime() const; - void setRateDateTime(std::string v); - /// Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship - bool hasRateSource() const; + boost::optional< std::string > RateDateTime() const; + void RateDateTime(boost::optional< std::string > v); /// The source from which an exchange rate is obtained. - IfcLibraryInformation* RateSource() const; - void setRateSource(IfcLibraryInformation* v); + boost::optional< IfcLibraryInformation* > RateSource() const; + void RateSource(boost::optional< IfcLibraryInformation* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcMonetaryUnit; case 3: return Type::IfcMonetaryUnit; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcDateTime; case 6: return Type::IfcLibraryInformation; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -14311,7 +13823,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurrencyRelationship (IfcAbstractEntity* e); - IfcCurrencyRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, IfcLibraryInformation* v7_RateSource); + IfcCurrencyRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, boost::optional< IfcLibraryInformation* > v7_RateSource); typedef IfcTemplatedEntityList< IfcCurrencyRelationship > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. @@ -14333,25 +13845,17 @@ public: /// HISTORY  New entity in IFC2x2. class IfcCurveStyle : public IfcPresentationStyle { public: - /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle - bool hasCurveFont() const; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. - IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; - void setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v); - /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle - bool hasCurveWidth() const; + boost::optional< IfcCurveFontOrScaledCurveFontSelect* > CurveFont() const; + void CurveFont(boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v); /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. - IfcSizeSelect* CurveWidth() const; - void setCurveWidth(IfcSizeSelect* v); - /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle - bool hasCurveColour() const; + boost::optional< IfcSizeSelect* > CurveWidth() const; + void CurveWidth(boost::optional< IfcSizeSelect* > v); /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. - IfcColour* CurveColour() const; - void setCurveColour(IfcColour* v); - /// Whether the optional attribute ModelOrDraughting is defined for this IfcCurveStyle - bool hasModelOrDraughting() const; - bool ModelOrDraughting() const; - void setModelOrDraughting(bool v); + boost::optional< IfcColour* > CurveColour() const; + void CurveColour(boost::optional< IfcColour* > v); + boost::optional< bool > ModelOrDraughting() const; + void ModelOrDraughting(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCurveFontOrScaledCurveFontSelect; case 2: return Type::IfcSizeSelect; case 3: return Type::IfcColour; case 4: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -14361,7 +13865,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyle (IfcAbstractEntity* e); - IfcCurveStyle (boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle (boost::optional< std::string > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect* > v2_CurveFont, boost::optional< IfcSizeSelect* > v3_CurveWidth, boost::optional< IfcColour* > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting); typedef IfcTemplatedEntityList< IfcCurveStyle > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font combines several curve style font pattern entities into a more complex pattern. The resulting pattern is repeated along the curve. @@ -14371,14 +13875,12 @@ public: /// HISTORY: New entity in IFC2x2. class IfcCurveStyleFont : public IfcPresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcCurveStyleFont - bool hasName() const; /// Name that may be assigned with the curve font. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// A list of curve font pattern entities, that contains the simple patterns used for drawing curves. The patterns are applied in the order they occur in the list. IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr PatternList() const; - void setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v); + void PatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcCurveStyleFontPattern; } return IfcPresentationItem::getArgumentEntity(i); } @@ -14404,17 +13906,15 @@ public: /// HISTORY  New entity in IFC2x2. class IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling - bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// The curve font to be scaled. IfcCurveStyleFontSelect* CurveFont() const; - void setCurveFont(IfcCurveStyleFontSelect* v); + void CurveFont(IfcCurveStyleFontSelect* v); /// The scale factor. double CurveFontScaling() const; - void setCurveFontScaling(double v); + void CurveFontScaling(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcCurveStyleFontSelect; case 2: return Type::IfcPositiveRatioMeasure; } return IfcPresentationItem::getArgumentEntity(i); } @@ -14440,10 +13940,10 @@ public: /// /// IFC2x Edition 3 CHANGE  The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. double VisibleSegmentLength() const; - void setVisibleSegmentLength(double v); + void VisibleSegmentLength(double v); /// The length of the invisible segment in the pattern definition. double InvisibleSegmentLength() const; - void setInvisibleSegmentLength(double v); + void InvisibleSegmentLength(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; case 1: return Type::IfcPositiveLengthMeasure; } return IfcPresentationItem::getArgumentEntity(i); } @@ -14544,15 +14044,13 @@ class IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. IfcProfileDef* ParentProfile() const; - void setParentProfile(IfcProfileDef* v); + void ParentProfile(IfcProfileDef* v); /// Transformation operator applied to the parent profile. IfcCartesianTransformationOperator2D* Operator() const; - void setOperator(IfcCartesianTransformationOperator2D* v); - /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef - bool hasLabel() const; + void Operator(IfcCartesianTransformationOperator2D* v); /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - std::string Label() const; - void setLabel(std::string v); + boost::optional< std::string > Label() const; + void Label(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcProfileDef; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcLabel; } return IfcProfileDef::getArgumentEntity(i); } @@ -14571,99 +14069,69 @@ public: class IfcDocumentInformation : public IfcExternalInformation { public: std::string Identification() const; - void setIdentification(std::string v); + void Identification(std::string v); /// File name or document name assigned by owner. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcDocumentInformation - bool hasDescription() const; + void Name(std::string v); /// Description of document and its content. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Location is defined for this IfcDocumentInformation - bool hasLocation() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Resource identifier or locator, provided as URI, URN or URL, of the document information for online references. /// /// IFC2x4 CHANGE  New attribute added at end of attribute list. - std::string Location() const; - void setLocation(std::string v); - /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation - bool hasPurpose() const; + boost::optional< std::string > Location() const; + void Location(boost::optional< std::string > v); /// Purpose for this document. - std::string Purpose() const; - void setPurpose(std::string v); - /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation - bool hasIntendedUse() const; + boost::optional< std::string > Purpose() const; + void Purpose(boost::optional< std::string > v); /// Intended use for this document. - std::string IntendedUse() const; - void setIntendedUse(std::string v); - /// Whether the optional attribute Scope is defined for this IfcDocumentInformation - bool hasScope() const; + boost::optional< std::string > IntendedUse() const; + void IntendedUse(boost::optional< std::string > v); /// Scope for this document. - std::string Scope() const; - void setScope(std::string v); - /// Whether the optional attribute Revision is defined for this IfcDocumentInformation - bool hasRevision() const; + boost::optional< std::string > Scope() const; + void Scope(boost::optional< std::string > v); /// Document revision designation. - std::string Revision() const; - void setRevision(std::string v); - /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation - bool hasDocumentOwner() const; + boost::optional< std::string > Revision() const; + void Revision(boost::optional< std::string > v); /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. - IfcActorSelect* DocumentOwner() const; - void setDocumentOwner(IfcActorSelect* v); - /// Whether the optional attribute Editors is defined for this IfcDocumentInformation - bool hasEditors() const; + boost::optional< IfcActorSelect* > DocumentOwner() const; + void DocumentOwner(boost::optional< IfcActorSelect* > v); /// The persons and/or organizations who have created this document or contributed to it. - IfcEntityList::ptr Editors() const; - void setEditors(IfcEntityList::ptr v); - /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation - bool hasCreationTime() const; + boost::optional< IfcEntityList::ptr > Editors() const; + void Editors(boost::optional< IfcEntityList::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. - std::string CreationTime() const; - void setCreationTime(std::string v); - /// Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation - bool hasLastRevisionTime() const; + boost::optional< std::string > CreationTime() const; + void CreationTime(boost::optional< std::string > v); /// Date and time stamp when this document version was created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - std::string LastRevisionTime() const; - void setLastRevisionTime(std::string v); - /// Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation - bool hasElectronicFormat() const; + boost::optional< std::string > LastRevisionTime() const; + void LastRevisionTime(boost::optional< std::string > v); /// Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided. - std::string ElectronicFormat() const; - void setElectronicFormat(std::string v); - /// Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation - bool hasValidFrom() const; + boost::optional< std::string > ElectronicFormat() const; + void ElectronicFormat(boost::optional< std::string > v); /// Date when the document becomes valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - std::string ValidFrom() const; - void setValidFrom(std::string v); - /// Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation - bool hasValidUntil() const; + boost::optional< std::string > ValidFrom() const; + void ValidFrom(boost::optional< std::string > v); /// Date until which the document remains valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - std::string ValidUntil() const; - void setValidUntil(std::string v); - /// Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation - bool hasConfidentiality() const; + boost::optional< std::string > ValidUntil() const; + void ValidUntil(boost::optional< std::string > v); /// The level of confidentiality of the document. - IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum Confidentiality() const; - void setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v); - /// Whether the optional attribute Status is defined for this IfcDocumentInformation - bool hasStatus() const; + boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > Confidentiality() const; + void Confidentiality(boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v); /// The current status of the document. Examples of status values that might be used for a document information status include: /// - DRAFT /// - FINAL DRAFT /// - FINAL /// - REVISION - IfcDocumentStatusEnum::IfcDocumentStatusEnum Status() const; - void setStatus(IfcDocumentStatusEnum::IfcDocumentStatusEnum v); + boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > Status() const; + void Status(boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_STRING; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_ENUMERATION; case 16: return IfcUtil::Argument_ENUMERATION; } return IfcExternalInformation::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcURIReference; case 4: return Type::IfcText; case 5: return Type::IfcText; case 6: return Type::IfcText; case 7: return Type::IfcLabel; case 8: return Type::IfcActorSelect; case 9: return Type::IfcActorSelect; case 10: return Type::IfcDateTime; case 11: return Type::IfcDateTime; case 12: return Type::IfcIdentifier; case 13: return Type::IfcDate; case 14: return Type::IfcDate; case 15: return Type::IfcDocumentConfidentialityEnum; case 16: return Type::IfcDocumentStatusEnum; } return IfcExternalInformation::getArgumentEntity(i); } @@ -14677,7 +14145,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformation (IfcAbstractEntity* 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, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); + 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, boost::optional< IfcActorSelect* > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); typedef IfcTemplatedEntityList< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -14692,15 +14160,13 @@ class IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. IfcDocumentInformation* RelatingDocument() const; - void setRelatingDocument(IfcDocumentInformation* v); + void RelatingDocument(IfcDocumentInformation* v); /// The document that acts as the child, referenced or replacing document in a relationship. IfcTemplatedEntityList< IfcDocumentInformation >::ptr RelatedDocuments() const; - void setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v); - /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship - bool hasRelationshipType() const; + void RelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v); /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - std::string RelationshipType() const; - void setRelationshipType(std::string v); + boost::optional< std::string > RelationshipType() const; + void RelationshipType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDocumentInformation; case 3: return Type::IfcDocumentInformation; case 4: return Type::IfcLabel; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -14726,18 +14192,14 @@ public: /// Modified in IFC 2x. class IfcDocumentReference : public IfcExternalReference { public: - /// Whether the optional attribute Description is defined for this IfcDocumentReference - bool hasDescription() const; /// Description of the document reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute ReferencedDocument is defined for this IfcDocumentReference - bool hasReferencedDocument() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// The document that is referenced. - IfcDocumentInformation* ReferencedDocument() const; - void setReferencedDocument(IfcDocumentInformation* v); + boost::optional< IfcDocumentInformation* > ReferencedDocument() const; + void ReferencedDocument(boost::optional< IfcDocumentInformation* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; } return IfcExternalReference::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcText; case 4: return Type::IfcDocumentInformation; } return IfcExternalReference::getArgumentEntity(i); } @@ -14748,7 +14210,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentReference (IfcAbstractEntity* e); - IfcDocumentReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcDocumentInformation* v5_ReferencedDocument); + IfcDocumentReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcDocumentInformation* > v5_ReferencedDocument); typedef IfcTemplatedEntityList< IfcDocumentReference > list; }; /// Definition from ISO/CD 10303-42:1992: An edge is the @@ -14804,10 +14266,10 @@ class IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. IfcVertex* EdgeStart() const; - void setEdgeStart(IfcVertex* v); + void EdgeStart(IfcVertex* v); /// End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd. IfcVertex* EdgeEnd() const; - void setEdgeEnd(IfcVertex* v); + void EdgeEnd(IfcVertex* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVertex; case 1: return Type::IfcVertex; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -14857,10 +14319,10 @@ class IfcEdgeCurve : public IfcEdge { public: /// The curve which defines the shape and spatial location of the edge. This curve may be unbounded and is implicitly trimmed by the vertices of the edge; this defines the edge domain. Multiple edges can reference the same curve. IfcCurve* EdgeGeometry() const; - void setEdgeGeometry(IfcCurve* v); + void EdgeGeometry(IfcCurve* v); /// This logical flag indicates whether (TRUE), or not (FALSE) the senses of the edge and the curve defining the edge geometry are the same. The sense of an edge is from the edge start vertex to the edge end vertex; the sense of a curve is in the direction of increasing parameter. bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } @@ -14898,28 +14360,20 @@ public: /// of IfcEventTime. class IfcEventTime : public IfcSchedulingTime { public: - /// Whether the optional attribute ActualDate is defined for this IfcEventTime - bool hasActualDate() const; /// The date on which an event actually occurs. It is a measured value. - std::string ActualDate() const; - void setActualDate(std::string v); - /// Whether the optional attribute EarlyDate is defined for this IfcEventTime - bool hasEarlyDate() const; + boost::optional< std::string > ActualDate() const; + void ActualDate(boost::optional< std::string > v); /// The earliest date on which an event can occur. It is a calculated value. - std::string EarlyDate() const; - void setEarlyDate(std::string v); - /// Whether the optional attribute LateDate is defined for this IfcEventTime - bool hasLateDate() const; + boost::optional< std::string > EarlyDate() const; + void EarlyDate(boost::optional< std::string > v); /// The latest date on which an event can occur. It is a calculated value. - std::string LateDate() const; - void setLateDate(std::string v); - /// Whether the optional attribute ScheduleDate is defined for this IfcEventTime - bool hasScheduleDate() const; + boost::optional< std::string > LateDate() const; + void LateDate(boost::optional< std::string > v); /// The date on which an event is scheduled to occur. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. - std::string ScheduleDate() const; - void setScheduleDate(std::string v); + boost::optional< std::string > ScheduleDate() const; + void ScheduleDate(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcSchedulingTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcDateTime; case 4: return Type::IfcDateTime; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; } return IfcSchedulingTime::getArgumentEntity(i); } @@ -14935,16 +14389,12 @@ public: class IfcExtendedProperties : public IfcPropertyAbstraction { public: - /// Whether the optional attribute Name is defined for this IfcExtendedProperties - bool hasName() const; - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcExtendedProperties - bool hasDescription() const; - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); IfcTemplatedEntityList< IfcProperty >::ptr Properties() const; - void setProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void Properties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertyAbstraction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcText; case 2: return Type::IfcProperty; } return IfcPropertyAbstraction::getArgumentEntity(i); } @@ -14970,10 +14420,10 @@ public: /// /// NOTE  External references can be a library reference (for example a dictionary or a catalogue reference), a classification reference, or a documentation reference. IfcExternalReference* RelatingReference() const; - void setRelatingReference(IfcExternalReference* v); + void RelatingReference(IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. IfcEntityList::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcEntityList::ptr v); + void RelatedResourceObjects(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcExternalReference; case 3: return Type::IfcResourceObjectSelect; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -15034,7 +14484,7 @@ class IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. IfcTemplatedEntityList< IfcFaceBound >::ptr Bounds() const; - void setBounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v); + void Bounds(IfcTemplatedEntityList< IfcFaceBound >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcFaceBound; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -15057,10 +14507,10 @@ class IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. IfcLoop* Bound() const; - void setBound(IfcLoop* v); + void Bound(IfcLoop* v); /// This indicated whether (TRUE) or not (FALSE) the loop has the same sense when used to bound the face as when first defined. If sense is FALSE the senses of all its component oriented edges are implicitly reversed when used in the face. bool Orientation() const; - void setOrientation(bool v); + void Orientation(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_BOOL; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLoop; case 1: return Type::UNDEFINED; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -15132,10 +14582,10 @@ class IfcFaceSurface : public IfcFace { public: /// The surface which defines the internal shape of the face. This surface may be unbounded. The domain of the face is defined by this surface and the bounding loops in the inherited attribute SELF\FaceBounds. IfcSurface* FaceSurface() const; - void setFaceSurface(IfcSurface* v); + void FaceSurface(IfcSurface* v); /// This flag indicates whether the sense of the surface normal agrees with (TRUE), or opposes (FALSE), the sense of the topological normal to the face. bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } return IfcFace::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurface; case 2: return Type::UNDEFINED; } return IfcFace::getArgumentEntity(i); } @@ -15157,36 +14607,24 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: - /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition - bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - double TensionFailureX() const; - void setTensionFailureX(double v); - /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition - bool hasTensionFailureY() const; + boost::optional< double > TensionFailureX() const; + void TensionFailureX(boost::optional< double > v); /// Tension force in y-direction leading to failure of the connection. - double TensionFailureY() const; - void setTensionFailureY(double v); - /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition - bool hasTensionFailureZ() const; + boost::optional< double > TensionFailureY() const; + void TensionFailureY(boost::optional< double > v); /// Tension force in z-direction leading to failure of the connection. - double TensionFailureZ() const; - void setTensionFailureZ(double v); - /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureX() const; + boost::optional< double > TensionFailureZ() const; + void TensionFailureZ(boost::optional< double > v); /// Compression force in x-direction leading to failure of the connection. - double CompressionFailureX() const; - void setCompressionFailureX(double v); - /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureY() const; + boost::optional< double > CompressionFailureX() const; + void CompressionFailureX(boost::optional< double > v); /// Compression force in y-direction leading to failure of the connection. - double CompressionFailureY() const; - void setCompressionFailureY(double v); - /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureZ() const; + boost::optional< double > CompressionFailureY() const; + void CompressionFailureY(boost::optional< double > v); /// Compression force in z-direction leading to failure of the connection. - double CompressionFailureZ() const; - void setCompressionFailureZ(double v); + boost::optional< double > CompressionFailureZ() const; + void CompressionFailureZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcForceMeasure; case 2: return Type::IfcForceMeasure; case 3: return Type::IfcForceMeasure; case 4: return Type::IfcForceMeasure; case 5: return Type::IfcForceMeasure; case 6: return Type::IfcForceMeasure; } return IfcStructuralConnectionCondition::getArgumentEntity(i); } @@ -15237,11 +14675,9 @@ class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. IfcEntityList::ptr FillStyles() const; - void setFillStyles(IfcEntityList::ptr v); - /// Whether the optional attribute ModelorDraughting is defined for this IfcFillAreaStyle - bool hasModelorDraughting() const; - bool ModelorDraughting() const; - void setModelorDraughting(bool v); + void FillStyles(IfcEntityList::ptr v); + boost::optional< bool > ModelorDraughting() const; + void ModelorDraughting(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcFillStyleSelect; case 2: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } @@ -15305,22 +14741,18 @@ class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. int CoordinateSpaceDimension() const; - void setCoordinateSpaceDimension(int v); - /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext - bool hasPrecision() const; + void CoordinateSpaceDimension(int v); /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. - double Precision() const; - void setPrecision(double v); + boost::optional< double > Precision() const; + void Precision(boost::optional< double > v); /// Establishment of the engineering coordinate system (often referred to as the world coordinate system in CAD) for all representation contexts used by the project. /// /// Note  it can be used to provide better numeric stability if the placement of the building(s) is far away from the origin. In most cases however it would be set to origin: (0.,0.,0.) and directions x(1.,0.,0.), y(0.,1.,0.), z(0.,0.,1.). IfcAxis2Placement* WorldCoordinateSystem() const; - void setWorldCoordinateSystem(IfcAxis2Placement* v); - /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext - bool hasTrueNorth() const; + void WorldCoordinateSystem(IfcAxis2Placement* v); /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. - IfcDirection* TrueNorth() const; - void setTrueNorth(IfcDirection* v); + boost::optional< IfcDirection* > TrueNorth() const; + void TrueNorth(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_INT; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRepresentationContext::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDimensionCount; case 3: return Type::UNDEFINED; case 4: return Type::IfcAxis2Placement; case 5: return Type::IfcDirection; } return IfcRepresentationContext::getArgumentEntity(i); } @@ -15331,7 +14763,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationContext (IfcAbstractEntity* e); - IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); + IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, boost::optional< IfcDirection* > v6_TrueNorth); typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext > list; }; /// Definition from ISO/CD 10303-43:1992: An geometric representation item is a representation item that has the additional meaning of having geometric position or orientation or both. This meaning is present by virtue of: @@ -15384,9 +14816,7 @@ class IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationCo public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. IfcGeometricRepresentationContext* ParentContext() const; - void setParentContext(IfcGeometricRepresentationContext* v); - /// Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext - bool hasTargetScale() const; + void ParentContext(IfcGeometricRepresentationContext* v); /// The target plot scale of the representation /// to which this representation context applies. /// Scale indicates the target plot scale for @@ -15398,16 +14828,14 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - double TargetScale() const; - void setTargetScale(double v); + boost::optional< double > TargetScale() const; + void TargetScale(boost::optional< double > v); /// Target view of the representation to which this representation context applies. IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView() const; - void setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); - /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext - bool hasUserDefinedTargetView() const; + void TargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - std::string UserDefinedTargetView() const; - void setUserDefinedTargetView(std::string v); + boost::optional< std::string > UserDefinedTargetView() const; + void UserDefinedTargetView(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcGeometricRepresentationContext::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcGeometricRepresentationContext; case 7: return Type::IfcPositiveRatioMeasure; case 8: return Type::IfcGeometricProjectionEnum; case 9: return Type::IfcLabel; } return IfcGeometricRepresentationContext::getArgumentEntity(i); } @@ -15431,7 +14859,7 @@ class IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. IfcEntityList::ptr Elements() const; - void setElements(IfcEntityList::ptr v); + void Elements(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcGeometricSetSelect; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -15493,14 +14921,12 @@ class IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. IfcVirtualGridIntersection* PlacementLocation() const; - void setPlacementLocation(IfcVirtualGridIntersection* v); - /// Whether the optional attribute PlacementRefDirection is defined for this IfcGridPlacement - bool hasPlacementRefDirection() const; + void PlacementLocation(IfcVirtualGridIntersection* v); /// Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement. /// /// IFC2x4 CHANGE The select of an explict direction has been added. - IfcGridPlacementDirectionSelect* PlacementRefDirection() const; - void setPlacementRefDirection(IfcGridPlacementDirectionSelect* v); + boost::optional< IfcGridPlacementDirectionSelect* > PlacementRefDirection() const; + void PlacementRefDirection(boost::optional< IfcGridPlacementDirectionSelect* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVirtualGridIntersection; case 1: return Type::IfcGridPlacementDirectionSelect; } return IfcObjectPlacement::getArgumentEntity(i); } @@ -15510,7 +14936,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGridPlacement (IfcAbstractEntity* e); - IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, IfcGridPlacementDirectionSelect* v2_PlacementRefDirection); + IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect* > v2_PlacementRefDirection); typedef IfcTemplatedEntityList< IfcGridPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A half space solid is defined by the half space which is the regular subset of the domain which lies on one side of an unbounded surface. The side of the surface which is in the half space is determined by the surface normal and the agreement flag. If the agreement flag is TRUE, then the subset is the one the normal points away from. If the agreement flag is FALSE, then the subset is the one the normal points into. For a valid half space solid the surface shall divide the domain into exactly two subsets. Also, within the domain the surface shall be manifold and all surface normals shall point into the same subset. @@ -15532,10 +14958,10 @@ class IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: /// Surface defining side of half space. IfcSurface* BaseSurface() const; - void setBaseSurface(IfcSurface* v); + void BaseSurface(IfcSurface* v); /// The agreement flag is TRUE if the normal to the BaseSurface points away from the material of the IfcHalfSpaceSolid. Otherwise it is FALSE. bool AgreementFlag() const; - void setAgreementFlag(bool v); + void AgreementFlag(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_BOOL; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -15587,7 +15013,7 @@ class IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. std::string URLReference() const; - void setURLReference(std::string v); + void URLReference(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcSurfaceTexture::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcURIReference; } return IfcSurfaceTexture::getArgumentEntity(i); } @@ -15597,22 +15023,20 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcImageTexture (IfcAbstractEntity* e); - IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); + IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); typedef IfcTemplatedEntityList< IfcImageTexture > list; }; class IfcIndexedColourMap : public IfcPresentationItem { public: IfcTessellatedFaceSet* MappedTo() const; - void setMappedTo(IfcTessellatedFaceSet* v); - /// Whether the optional attribute Overrides is defined for this IfcIndexedColourMap - bool hasOverrides() const; - IfcSurfaceStyleShading* Overrides() const; - void setOverrides(IfcSurfaceStyleShading* v); + void MappedTo(IfcTessellatedFaceSet* v); + boost::optional< IfcSurfaceStyleShading* > Overrides() const; + void Overrides(boost::optional< IfcSurfaceStyleShading* > v); IfcColourRgbList* Colours() const; - void setColours(IfcColourRgbList* v); + void Colours(IfcColourRgbList* v); std::vector< int > /*[1:?]*/ ColourIndex() const; - void setColourIndex(std::vector< int > /*[1:?]*/ v); + void ColourIndex(std::vector< int > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_VECTOR_INT; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTessellatedFaceSet; case 1: return Type::IfcSurfaceStyleShading; case 2: return Type::IfcColourRgbList; case 3: return Type::UNDEFINED; } return IfcPresentationItem::getArgumentEntity(i); } @@ -15622,16 +15046,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIndexedColourMap (IfcAbstractEntity* e); - IfcIndexedColourMap (IfcTessellatedFaceSet* v1_MappedTo, IfcSurfaceStyleShading* v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); + IfcIndexedColourMap (IfcTessellatedFaceSet* v1_MappedTo, boost::optional< IfcSurfaceStyleShading* > v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); typedef IfcTemplatedEntityList< IfcIndexedColourMap > list; }; class IfcIndexedTextureMap : public IfcTextureCoordinate { public: IfcTessellatedFaceSet* MappedTo() const; - void setMappedTo(IfcTessellatedFaceSet* v); + void MappedTo(IfcTessellatedFaceSet* v); IfcTextureVertexList* TexCoords() const; - void setTexCoords(IfcTextureVertexList* v); + void TexCoords(IfcTextureVertexList* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcTextureCoordinate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTessellatedFaceSet; case 2: return Type::IfcTextureVertexList; } return IfcTextureCoordinate::getArgumentEntity(i); } @@ -15647,8 +15071,6 @@ public: class IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: - /// Whether the optional attribute TexCoordIndex is defined for this IfcIndexedTriangleTextureMap - bool hasTexCoordIndex() const; virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_UNKNOWN; } return IfcIndexedTextureMap::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::UNDEFINED; } return IfcIndexedTextureMap::getArgumentEntity(i); } @@ -15670,7 +15092,7 @@ class IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr Values() const; - void setValues(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v); + void Values(IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENTITY_LIST; } return IfcTimeSeries::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcIrregularTimeSeriesValue; } return IfcTimeSeries::getArgumentEntity(i); } @@ -15680,7 +15102,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIrregularTimeSeries (IfcAbstractEntity* e); - IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); + IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); typedef IfcTemplatedEntityList< IfcIrregularTimeSeries > list; }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. @@ -15725,11 +15147,11 @@ public: /// Value of the time lag selected as being either a ratio or a /// time measure. IfcTimeOrRatioSelect* LagValue() const; - void setLagValue(IfcTimeOrRatioSelect* v); + void LagValue(IfcTimeOrRatioSelect* v); /// The allowed types of task duration that specify the lag time /// measurement (work time or elapsed time). IfcTaskDurationEnum::IfcTaskDurationEnum DurationType() const; - void setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v); + void DurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENUMERATION; } return IfcSchedulingTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTimeOrRatioSelect; case 4: return Type::IfcTaskDurationEnum; } return IfcSchedulingTime::getArgumentEntity(i); } @@ -15751,25 +15173,19 @@ public: /// HISTORY: This is a new Entity in IFC 2x, renamed and enhanced in IFC2x2. class IfcLightSource : public IfcGeometricRepresentationItem { public: - /// Whether the optional attribute Name is defined for this IfcLightSource - bool hasName() const; /// The name given to the light source in presentation. - std::string Name() const; - void setName(std::string v); + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition from ISO/CD 10303-46:1992: Based on the current lighting model, the colour of the light to be used for shading. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The color field specifies the spectral color properties of both the direct and ambient light emission as an RGB value. IfcColourRgb* LightColour() const; - void setLightColour(IfcColourRgb* v); - /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource - bool hasAmbientIntensity() const; + void LightColour(IfcColourRgb* v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - double AmbientIntensity() const; - void setAmbientIntensity(double v); - /// Whether the optional attribute Intensity is defined for this IfcLightSource - bool hasIntensity() const; + boost::optional< double > AmbientIntensity() const; + void AmbientIntensity(boost::optional< double > v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - double Intensity() const; - void setIntensity(double v); + boost::optional< double > Intensity() const; + void Intensity(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcColourRgb; case 2: return Type::IfcNormalisedRatioMeasure; case 3: return Type::IfcNormalisedRatioMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -15817,7 +15233,7 @@ public: /// Definition from ISO/CD 10303-46:1992: This direction is the direction of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the illumination emanating from the light source in the local coordinate system. Light is emitted along parallel rays from an infinite distance away. IfcDirection* Orientation() const; - void setOrientation(IfcDirection* v); + void Orientation(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDirection; } return IfcLightSource::getArgumentEntity(i); } @@ -15841,24 +15257,22 @@ class IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); - /// Whether the optional attribute ColourAppearance is defined for this IfcLightSourceGoniometric - bool hasColourAppearance() const; + void Position(IfcAxis2Placement3D* v); /// Artificial light sources are classified in terms of their color appearance. To the human eye they all appear to be white; the difference can only be detected by direct comparison. Visual performance is not directly affected by differences in color appearance. - IfcColourRgb* ColourAppearance() const; - void setColourAppearance(IfcColourRgb* v); + boost::optional< IfcColourRgb* > ColourAppearance() const; + void ColourAppearance(boost::optional< IfcColourRgb* > v); /// The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). double ColourTemperature() const; - void setColourTemperature(double v); + void ColourTemperature(double v); /// Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. double LuminousFlux() const; - void setLuminousFlux(double v); + void LuminousFlux(double v); /// Identifies the types of light emitter from which the type required may be set. IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource() const; - void setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); + void LightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); /// The data source from which light distribution data is obtained. IfcLightDistributionDataSourceSelect* LightDistributionDataSource() const; - void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v); + void LightDistributionDataSource(IfcLightDistributionDataSourceSelect* v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcAxis2Placement3D; case 5: return Type::IfcColourRgb; case 6: return Type::IfcThermodynamicTemperatureMeasure; case 7: return Type::IfcLuminousFluxMeasure; case 8: return Type::IfcLightEmissionSourceEnum; case 9: return Type::IfcLightDistributionDataSourceSelect; } return IfcLightSource::getArgumentEntity(i); } @@ -15868,7 +15282,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceGoniometric (IfcAbstractEntity* e); - IfcLightSourceGoniometric (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource); + IfcLightSourceGoniometric (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, boost::optional< IfcColourRgb* > v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource); typedef IfcTemplatedEntityList< IfcLightSourceGoniometric > list; }; /// Definition from ISO/CD 10303-46:1992: The light source positional entity is a subtype of light source. This entity has a light source position and attenuation coefficients. A positional light source affects a surface based on the surface's orientation and position. @@ -15891,20 +15305,20 @@ public: /// Definition from ISO/CD 10303-46:1992: The Cartesian point indicates the position of the light source. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. IfcCartesianPoint* Position() const; - void setPosition(IfcCartesianPoint* v); + void Position(IfcCartesianPoint* v); /// Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. double Radius() const; - void setRadius(double v); + void Radius(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant. double ConstantAttenuation() const; - void setConstantAttenuation(double v); + void ConstantAttenuation(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source. double DistanceAttenuation() const; - void setDistanceAttenuation(double v); + void DistanceAttenuation(double v); /// Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source. double QuadricAttenuation() const; - void setQuadricAttenuation(double v); + void QuadricAttenuation(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcLightSource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcCartesianPoint; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcReal; case 7: return Type::IfcReal; case 8: return Type::IfcReal; } return IfcLightSource::getArgumentEntity(i); } @@ -15937,20 +15351,18 @@ public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The direction field specifies the direction vector of the light's central axis defined in the local coordinate system. IfcDirection* Orientation() const; - void setOrientation(IfcDirection* v); - /// Whether the optional attribute ConcentrationExponent is defined for this IfcLightSourceSpot - bool hasConcentrationExponent() const; + void Orientation(IfcDirection* v); /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - double ConcentrationExponent() const; - void setConcentrationExponent(double v); + boost::optional< double > ConcentrationExponent() const; + void ConcentrationExponent(boost::optional< double > v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. double SpreadAngle() const; - void setSpreadAngle(double v); + void SpreadAngle(double v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (beamWidthAngle) to the outer solid angle (spreadAngle). double BeamWidthAngle() const; - void setBeamWidthAngle(double v); + void BeamWidthAngle(double v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcLightSourcePositional::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDirection; case 10: return Type::IfcReal; case 11: return Type::IfcPositivePlaneAngleMeasure; case 12: return Type::IfcPositivePlaneAngleMeasure; } return IfcLightSourcePositional::getArgumentEntity(i); } @@ -16017,14 +15429,12 @@ public: /// coordinate system established by the referenced geometric representation context within the project. class IfcLocalPlacement : public IfcObjectPlacement { public: - /// Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement - bool hasPlacementRelTo() const; /// Reference to Object that provides the relative placement by its local coordinate system. If it is omitted, then the local placement is given to the WCS, established by the geometric representation context. - IfcObjectPlacement* PlacementRelTo() const; - void setPlacementRelTo(IfcObjectPlacement* v); + boost::optional< IfcObjectPlacement* > PlacementRelTo() const; + void PlacementRelTo(boost::optional< IfcObjectPlacement* > v); /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. IfcAxis2Placement* RelativePlacement() const; - void setRelativePlacement(IfcAxis2Placement* v); + void RelativePlacement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcObjectPlacement; case 1: return Type::IfcAxis2Placement; } return IfcObjectPlacement::getArgumentEntity(i); } @@ -16034,7 +15444,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLocalPlacement (IfcAbstractEntity* e); - IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement); + IfcLocalPlacement (boost::optional< IfcObjectPlacement* > v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement); typedef IfcTemplatedEntityList< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological @@ -16100,10 +15510,10 @@ class IfcMappedItem : public IfcRepresentationItem { public: /// A representation map that is the source of the mapped item. It can be seen as a block (or cell or marco) definition. IfcRepresentationMap* MappingSource() const; - void setMappingSource(IfcRepresentationMap* v); + void MappingSource(IfcRepresentationMap* v); /// A representation item that is the target onto which the mapping source is mapped. It is constraint to be a Cartesian transformation operator. IfcCartesianTransformationOperator* MappingTarget() const; - void setMappingTarget(IfcCartesianTransformationOperator* v); + void MappingTarget(IfcCartesianTransformationOperator* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcRepresentationMap; case 1: return Type::IfcCartesianTransformationOperator; } return IfcRepresentationItem::getArgumentEntity(i); } @@ -16151,23 +15561,19 @@ public: /// /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterial - bool hasDescription() const; + void Name(std::string v); /// Definition of the material in more descriptive terms than given by attributes Name or Category. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute Category is defined for this IfcMaterial - bool hasCategory() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Definition of the category (group or type) of material, in more general terms than given by attribute Name. /// /// EXAMPLE A view definition may require each Material.Name to be unique, e.g. for each concrete or steel grade used in a project, in which case Material.Category could take the values 'Concrete' or 'Steel'. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - std::string Category() const; - void setCategory(std::string v); + boost::optional< std::string > Category() const; + void Category(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcLabel; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -16190,29 +15596,21 @@ public: /// HISTORYÿNew Entity in IFC2x4 class IfcMaterialConstituent : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialConstituent - bool hasName() const; /// The name by which the material constituent is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialConstituent - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition of the material constituent in descriptive terms. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Reference to the material from which the constituent is constructed. IfcMaterial* Material() const; - void setMaterial(IfcMaterial* v); - /// Whether the optional attribute Fraction is defined for this IfcMaterialConstituent - bool hasFraction() const; + void Material(IfcMaterial* v); /// Optional provision of a fraction of the total amount (volume or weight) that applies to the IfcMaterialConstituentSet that is contributed by this IfcMaterialConstituent. - double Fraction() const; - void setFraction(double v); - /// Whether the optional attribute Category is defined for this IfcMaterialConstituent - bool hasCategory() const; + boost::optional< double > Fraction() const; + void Fraction(boost::optional< double > v); /// Category of the material constituent, e.g. the role it has in the constituent set it belongs to. - std::string Category() const; - void setCategory(std::string v); + boost::optional< std::string > Category() const; + void Category(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcMaterial; case 3: return Type::IfcNormalisedRatioMeasure; case 4: return Type::IfcLabel; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -16242,21 +15640,15 @@ public: /// HISTORYÿNew Entity in IFC2x4. class IfcMaterialConstituentSet : public IfcMaterialDefinition { public: - /// Whether the optional attribute Name is defined for this IfcMaterialConstituentSet - bool hasName() const; /// The name by which the constituent set is known. - std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcMaterialConstituentSet - bool hasDescription() const; + boost::optional< std::string > Name() const; + void Name(boost::optional< std::string > v); /// Definition of the material constituent set in descriptive terms. - std::string Description() const; - void setDescription(std::string v); - /// Whether the optional attribute MaterialConstituents is defined for this IfcMaterialConstituentSet - bool hasMaterialConstituents() const; + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); /// Identification of the constituents from which the material constituent set is composed. - IfcTemplatedEntityList< IfcMaterialConstituent >::ptr MaterialConstituents() const; - void setMaterialConstituents(IfcTemplatedEntityList< IfcMaterialConstituent >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > MaterialConstituents() const; + void MaterialConstituents(boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcMaterialDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcMaterialConstituent; } return IfcMaterialDefinition::getArgumentEntity(i); } @@ -16303,7 +15695,7 @@ class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. IfcMaterial* RepresentedMaterial() const; - void setRepresentedMaterial(IfcMaterial* v); + void RepresentedMaterial(IfcMaterial* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; } return IfcProductRepresentation::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcMaterial; } return IfcProductRepresentation::getArgumentEntity(i); } @@ -16420,23 +15812,21 @@ class IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. IfcMaterialLayerSet* ForLayerSet() const; - void setForLayerSet(IfcMaterialLayerSet* v); + void ForLayerSet(IfcMaterialLayerSet* v); /// Orientation of the material layer set relative to element reference geometry. The meaning of the value of this attribute shall be specified in the geometry use section for each element. For extruded shape representation, direction can be given along the extrusion path (e.g. for slabs) or perpendicular to it (e.g. for walls). /// /// NOTE  the LayerSetDirection for IfcWallStandardCase shall be AXIS2 (i.e. the y-axis) and for IfcSlabStandardCase and IfcPlateStandardCase it shall be AXIS3 (i.e. the z-axis). /// /// Whether the material layers of the set being used shall 'grow' into the positive or negative direction of the given axis, shall be deifned by DirectionSense attribute. IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum LayerSetDirection() const; - void setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); + void LayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); /// Denotion whether the material layer set is oriented in positive or negative sense along the specified axis (defined by LayerSetDirection). "Positive" means that the consecutive layers (the IfcMaterialLayer instances in the list of IfcMaterialLayerSet.MaterialLayers) are placed face-by-face in the direction of the positive axis as established by LayerSetDirection: for AXIS2 it would be in +y, for AXIS3 it would be +z. "Negative" means that the layers are placed face-by-face in the direction of the negative LayerSetDirection. In both cases, starting at the material layer set base line. /// NOTE  the material layer set base line (MlsBase) is located by OffsetFromReferenceLine, and may be on the positive or negative side of the element reference line (or plane); positive or negative for MlsBase placement does not depend on the DirectionSense attribute, but on the relevant element axis. IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; - void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); + void DirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. double OffsetFromReferenceLine() const; - void setOffsetFromReferenceLine(double v); - /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialLayerSetUsage - bool hasReferenceExtent() const; + void OffsetFromReferenceLine(double v); /// EPM-HTML> /// Extent of the extrusion of the elements body shape representation to which the IfcMaterialLayerSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialLayerSetWithOffsets subtype for included material layers. /// @@ -16445,8 +15835,8 @@ public: /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialLayerSetWithOffsets is included in the ForLayerSet.MaterialLayers list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcWallStandardCase is the reference height starting at z=0 being the XY plane of the object coordinate system. - double ReferenceExtent() const; - void setReferenceExtent(double v); + boost::optional< double > ReferenceExtent() const; + void ReferenceExtent(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialUsageDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterialLayerSet; case 1: return Type::IfcLayerSetDirectionEnum; case 2: return Type::IfcDirectionSenseEnum; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; } return IfcMaterialUsageDefinition::getArgumentEntity(i); } @@ -16470,22 +15860,18 @@ class IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. IfcMaterialProfileSet* ForProfileSet() const; - void setForProfileSet(IfcMaterialProfileSet* v); - /// Whether the optional attribute CardinalPoint is defined for this IfcMaterialProfileSetUsage - bool hasCardinalPoint() const; + void ForProfileSet(IfcMaterialProfileSet* v); /// Index reference to a significant point in the section profile. Describes how the section is aligned relative to the (longitudinal) axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - int CardinalPoint() const; - void setCardinalPoint(int v); - /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialProfileSetUsage - bool hasReferenceExtent() const; + boost::optional< int > CardinalPoint() const; + void CardinalPoint(boost::optional< int > v); /// EPM-HTML> /// Extent of the extrusion of the elements body shape representation to which the IfcMaterialProfileSetUsage applies. It is used as the reference value for the upper OffsetValues[2] provided by the IfcMaterialProfileSetWithOffsets subtype for included material profiles. /// /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialProfileSetWithOffsets is included in the ForProfileSet.MaterialProfiles list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcBeamStandardCase, IfcColumnStandardCase, and IfcMemberStandardCase is the reference length starting at z=0 being the XY plane of the object coordinate system. - double ReferenceExtent() const; - void setReferenceExtent(double v); + boost::optional< double > ReferenceExtent() const; + void ReferenceExtent(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_DOUBLE; } return IfcMaterialUsageDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcMaterialProfileSet; case 1: return Type::IfcCardinalPointReference; case 2: return Type::IfcPositiveLengthMeasure; } return IfcMaterialUsageDefinition::getArgumentEntity(i); } @@ -16527,12 +15913,10 @@ class IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. IfcMaterialProfileSet* ForProfileEndSet() const; - void setForProfileEndSet(IfcMaterialProfileSet* v); - /// Whether the optional attribute CardinalEndPoint is defined for this IfcMaterialProfileSetUsageTapering - bool hasCardinalEndPoint() const; + void ForProfileEndSet(IfcMaterialProfileSet* v); /// Index reference to a significant point in the second section profile. Describes how this section is aligned relative to the axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - int CardinalEndPoint() const; - void setCardinalEndPoint(int v); + boost::optional< int > CardinalEndPoint() const; + void CardinalEndPoint(boost::optional< int > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_INT; } return IfcMaterialProfileSetUsage::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcMaterialProfileSet; case 4: return Type::IfcCardinalPointReference; } return IfcMaterialProfileSetUsage::getArgumentEntity(i); } @@ -16573,7 +15957,7 @@ public: /// /// IFC2x4 CHANGE The datatype has been changed to supertype IfcMaterialDefinition. IfcMaterialDefinition* Material() const; - void setMaterial(IfcMaterialDefinition* v); + void Material(IfcMaterialDefinition* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; } return IfcExtendedProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcMaterialDefinition; } return IfcExtendedProperties::getArgumentEntity(i); } @@ -16593,15 +15977,13 @@ class IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). IfcMaterial* RelatingMaterial() const; - void setRelatingMaterial(IfcMaterial* v); + void RelatingMaterial(IfcMaterial* v); /// Reference to related materials (as constituents of composite material). IfcTemplatedEntityList< IfcMaterial >::ptr RelatedMaterials() const; - void setRelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v); - /// Whether the optional attribute Expression is defined for this IfcMaterialRelationship - bool hasExpression() const; + void RelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v); /// The amount of related material in the whole (composite material or material set). Expressed as proportion (percentage) of weight or volume, or as any other appropriate value. - std::string Expression() const; - void setExpression(std::string v); + boost::optional< std::string > Expression() const; + void Expression(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcMaterial; case 3: return Type::IfcMaterial; case 4: return Type::IfcLabel; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -16723,7 +16105,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjectDefinition (IfcAbstractEntity* e); - IfcObjectDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcObjectDefinition (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcObjectDefinition > list; }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of @@ -16809,10 +16191,10 @@ class IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. IfcOrganization* RelatingOrganization() const; - void setRelatingOrganization(IfcOrganization* v); + void RelatingOrganization(IfcOrganization* v); /// The other, possibly dependent, organizations which are the related parts of the relationship between organizations. IfcTemplatedEntityList< IfcOrganization >::ptr RelatedOrganizations() const; - void setRelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v); + void RelatedOrganizations(IfcTemplatedEntityList< IfcOrganization >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcOrganization; case 3: return Type::IfcOrganization; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -16836,10 +16218,10 @@ class IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. IfcEdge* EdgeElement() const; - void setEdgeElement(IfcEdge* v); + void EdgeElement(IfcEdge* v); /// BOOLEAN, If TRUE the topological orientation as used coincides with the orientation from start vertex to end vertex of the edge element. If FALSE otherwise. bool Orientation() const; - void setOrientation(bool v); + void Orientation(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } @@ -16896,11 +16278,9 @@ public: /// Subtypes IfcCraneRailAShapeProfileDef and IfcCraneRailFShapeProfileDef deleted. Rail profiles shall be modeled as IfcArbitraryClosedProfileDef or as IfcAsymmetricIShapeProfileDef together with appropriate external reference. class IfcParameterizedProfileDef : public IfcProfileDef { public: - /// Whether the optional attribute Position is defined for this IfcParameterizedProfileDef - bool hasPosition() const; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. - IfcAxis2Placement2D* Position() const; - void setPosition(IfcAxis2Placement2D* v); + boost::optional< IfcAxis2Placement2D* > Position() const; + void Position(boost::optional< IfcAxis2Placement2D* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis2Placement2D; } return IfcProfileDef::getArgumentEntity(i); } @@ -16910,7 +16290,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcParameterizedProfileDef (IfcAbstractEntity* e); - IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position); + IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position); typedef IfcTemplatedEntityList< IfcParameterizedProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A path is a topological entity consisting of an ordered collection of oriented edges, such that the edge start vertex of each edge coincides with the edge end of its predecessor. The path is ordered from the edge start of the first oriented edge to the edge end of the last edge. The BOOLEAN value sense in the oriented edge indicates whether the edge direction agrees with the direction of the path (TRUE) or is the opposite direction (FALSE). @@ -16931,7 +16311,7 @@ class IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; - void setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); + void EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOrientedEdge; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } @@ -16957,20 +16337,16 @@ class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; - void setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); + void HasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. std::string Discrimination() const; - void setDiscrimination(std::string v); - /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity - bool hasQuality() const; + void Discrimination(std::string v); /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - std::string Quality() const; - void setQuality(std::string v); - /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity - bool hasUsage() const; + boost::optional< std::string > Quality() const; + void Quality(boost::optional< std::string > v); /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - std::string Usage() const; - void setUsage(std::string v); + boost::optional< std::string > Usage() const; + void Usage(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcPhysicalQuantity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcPhysicalQuantity; case 3: return Type::IfcLabel; case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; } return IfcPhysicalQuantity::getArgumentEntity(i); } @@ -17005,13 +16381,13 @@ class IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. int Width() const; - void setWidth(int v); + void Width(int v); /// The number of pixels in height (T) direction. int Height() const; - void setHeight(int v); + void Height(int v); /// Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. int ColourComponents() const; - void setColourComponents(int v); + void ColourComponents(int v); /// Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. /// /// IFC2x Edition 3 CHANGE  The data type has been changed from STRING to BINARY. @@ -17024,7 +16400,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPixelTexture (IfcAbstractEntity* e); - IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents); + IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, boost::optional< IfcCartesianTransformationOperator2D* > v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents); typedef IfcTemplatedEntityList< IfcPixelTexture > list; }; /// Definition from ISO/CD 10303-42:1992: A placement entity defines the local environment for the definition of a geometry item. It locates the item to be defined and, in the case of the axis placement subtypes, gives its orientation. @@ -17040,7 +16416,7 @@ class IfcPlacement : public IfcGeometricRepresentationItem { public: /// The geometric position of a reference point, such as the center of a circle, of the item to be located. IfcCartesianPoint* Location() const; - void setLocation(IfcCartesianPoint* v); + void Location(IfcCartesianPoint* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -17062,10 +16438,10 @@ class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. double SizeInX() const; - void setSizeInX(double v); + void SizeInX(double v); /// The extent in the direction of the y-axis. double SizeInY() const; - void setSizeInY(double v); + void SizeInY(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; case 1: return Type::IfcLengthMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -17110,10 +16486,10 @@ class IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The parameter value of the point location. double PointParameter() const; - void setPointParameter(double v); + void PointParameter(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcParameterValue; } return IfcPoint::getArgumentEntity(i); } @@ -17139,13 +16515,13 @@ class IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. IfcSurface* BasisSurface() const; - void setBasisSurface(IfcSurface* v); + void BasisSurface(IfcSurface* v); /// The first parameter value of the point location. double PointParameterU() const; - void setPointParameterU(double v); + void PointParameterU(double v); /// The second parameter value of the point location. double PointParameterV() const; - void setPointParameterV(double v); + void PointParameterV(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; } return IfcPoint::getArgumentEntity(i); } @@ -17201,7 +16577,7 @@ class IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Polygon() const; - void setPolygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void Polygon(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcLoop::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; } return IfcLoop::getArgumentEntity(i); } @@ -17274,12 +16650,12 @@ class IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); /// Two-dimensional polyline bounded curve, defined in the xy plane of the position coordinate system. /// /// IFC2x Edition 3 CHANGE  The attribute type has been changed from IfcPolyline to its supertype IfcBoundedCurve with upward compatibility for file based exchange. IfcBoundedCurve* PolygonalBoundary() const; - void setPolygonalBoundary(IfcBoundedCurve* v); + void PolygonalBoundary(IfcBoundedCurve* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcHalfSpaceSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis2Placement3D; case 3: return Type::IfcBoundedCurve; } return IfcHalfSpaceSolid::getArgumentEntity(i); } @@ -17303,7 +16679,7 @@ class IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. std::string Name() const; - void setName(std::string v); + void Name(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; } return IfcPresentationItem::getArgumentEntity(i); } @@ -17399,7 +16775,7 @@ class IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. IfcProfileDef* ProfileDefinition() const; - void setProfileDefinition(IfcProfileDef* v); + void ProfileDefinition(IfcProfileDef* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; } return IfcExtendedProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcProfileDef; } return IfcExtendedProperties::getArgumentEntity(i); } @@ -17419,12 +16795,10 @@ class IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. std::string Name() const; - void setName(std::string v); - /// Whether the optional attribute Description is defined for this IfcProperty - bool hasDescription() const; + void Name(std::string v); /// Informative text to explain the property. - std::string Description() const; - void setDescription(std::string v); + boost::optional< std::string > Description() const; + void Description(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } return IfcPropertyAbstraction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcText; } return IfcPropertyAbstraction::getArgumentEntity(i); } @@ -17504,7 +16878,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyDefinition (IfcAbstractEntity* e); - IfcPropertyDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcPropertyDefinition (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyDefinition > list; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. @@ -17519,15 +16893,13 @@ class IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. IfcProperty* DependingProperty() const; - void setDependingProperty(IfcProperty* v); + void DependingProperty(IfcProperty* v); /// The dependant property. IfcProperty* DependantProperty() const; - void setDependantProperty(IfcProperty* v); - /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship - bool hasExpression() const; + void DependantProperty(IfcProperty* v); /// Expression that further describes the nature of the dependency relation. - std::string Expression() const; - void setExpression(std::string v); + boost::optional< std::string > Expression() const; + void Expression(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcProperty; case 3: return Type::IfcProperty; case 4: return Type::IfcText; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -17596,7 +16968,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySetDefinition (IfcAbstractEntity* e); - IfcPropertySetDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcPropertySetDefinition (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertySetDefinition > list; }; /// IfcPropertyTemplateDefinition is a generalization of @@ -17635,7 +17007,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTemplateDefinition (IfcAbstractEntity* e); - IfcPropertyTemplateDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcPropertyTemplateDefinition (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyTemplateDefinition > list; }; @@ -17650,7 +17022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantitySet (IfcAbstractEntity* e); - IfcQuantitySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcQuantitySet (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcQuantitySet > list; }; /// IfcRectangleProfileDef defines a rectangle as the profile definition used by the swept surface geometry or the swept area solid. It is given by its X extent and its Y extent, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system. @@ -17691,10 +17063,10 @@ class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. double XDim() const; - void setXDim(double v); + void XDim(double v); /// The extent of the rectangle in the direction of the y-axis. double YDim() const; - void setYDim(double v); + void YDim(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -17704,7 +17076,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangleProfileDef (IfcAbstractEntity* e); - IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim); + IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_XDim, double v5_YDim); typedef IfcTemplatedEntityList< IfcRectangleProfileDef > list; }; /// In a regular time series, the data arrives predictably at predefined intervals. In a regular time series there is no need to store multiple time stamps and the algorithms for analyzing the time series are therefore significantly simpler. Using the start time provided in the supertype, the time step is used to identify the frequency of the occurrences of the list of values. @@ -17716,10 +17088,10 @@ class IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. double TimeStep() const; - void setTimeStep(double v); + void TimeStep(double v); /// The collection of time series values. IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr Values() const; - void setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v); + void Values(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_ENTITY_LIST; } return IfcTimeSeries::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTimeMeasure; case 9: return Type::IfcTimeSeriesValue; } return IfcTimeSeries::getArgumentEntity(i); } @@ -17729,7 +17101,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRegularTimeSeries (IfcAbstractEntity* e); - IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); + IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, boost::optional< IfcUnit* > v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. @@ -17741,30 +17113,22 @@ class IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. double TotalCrossSectionArea() const; - void setTotalCrossSectionArea(double v); + void TotalCrossSectionArea(double v); /// The nominal steel grade defined according to local standards. std::string SteelGrade() const; - void setSteelGrade(std::string v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties - bool hasBarSurface() const; + void SteelGrade(std::string v); /// Indicator for whether the bar surface is plain or textured. - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; - void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); - /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties - bool hasEffectiveDepth() const; + boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > BarSurface() const; + void BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v); /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - double EffectiveDepth() const; - void setEffectiveDepth(double v); - /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties - bool hasNominalBarDiameter() const; + boost::optional< double > EffectiveDepth() const; + void EffectiveDepth(boost::optional< double > v); /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - double NominalBarDiameter() const; - void setNominalBarDiameter(double v); - /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties - bool hasBarCount() const; + boost::optional< double > NominalBarDiameter() const; + void NominalBarDiameter(boost::optional< double > v); /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - double BarCount() const; - void setBarCount(double v); + boost::optional< double > BarCount() const; + void BarCount(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAreaMeasure; case 1: return Type::IfcLabel; case 2: return Type::IfcReinforcingBarSurfaceEnum; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcCountMeasure; } return IfcPreDefinedProperties::getArgumentEntity(i); } @@ -17796,7 +17160,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelationship (IfcAbstractEntity* e); - IfcRelationship (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcRelationship (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelationship > list; }; /// An IfcResourceApprovalRelationship is used for @@ -17809,10 +17173,10 @@ class IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. IfcEntityList::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcEntityList::ptr v); + void RelatedResourceObjects(IfcEntityList::ptr v); /// The approval for the resource objects selected. IfcApproval* RelatingApproval() const; - void setRelatingApproval(IfcApproval* v); + void RelatingApproval(IfcApproval* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcResourceObjectSelect; case 3: return Type::IfcApproval; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -17849,10 +17213,10 @@ class IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. IfcConstraint* RelatingConstraint() const; - void setRelatingConstraint(IfcConstraint* v); + void RelatingConstraint(IfcConstraint* v); /// The properties to which a constraint is to be related. IfcEntityList::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcEntityList::ptr v); + void RelatedResourceObjects(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcConstraint; case 3: return Type::IfcResourceObjectSelect; } return IfcResourceLevelRelationship::getArgumentEntity(i); } @@ -17869,81 +17233,51 @@ public: /// HISTORY: New entity in IFC2x4. class IfcResourceTime : public IfcSchedulingTime { public: - /// Whether the optional attribute ScheduleWork is defined for this IfcResourceTime - bool hasScheduleWork() const; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. - std::string ScheduleWork() const; - void setScheduleWork(std::string v); - /// Whether the optional attribute ScheduleUsage is defined for this IfcResourceTime - bool hasScheduleUsage() const; + boost::optional< std::string > ScheduleWork() const; + void ScheduleWork(boost::optional< std::string > v); /// Indicates the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%. - double ScheduleUsage() const; - void setScheduleUsage(double v); - /// Whether the optional attribute ScheduleStart is defined for this IfcResourceTime - bool hasScheduleStart() const; + boost::optional< double > ScheduleUsage() const; + void ScheduleUsage(boost::optional< double > v); /// Indicates the time when the resource is scheduled to start working. - std::string ScheduleStart() const; - void setScheduleStart(std::string v); - /// Whether the optional attribute ScheduleFinish is defined for this IfcResourceTime - bool hasScheduleFinish() const; + boost::optional< std::string > ScheduleStart() const; + void ScheduleStart(boost::optional< std::string > v); /// Indicates the time when the resource is scheduled to finish working. - std::string ScheduleFinish() const; - void setScheduleFinish(std::string v); - /// Whether the optional attribute ScheduleContour is defined for this IfcResourceTime - bool hasScheduleContour() const; + boost::optional< std::string > ScheduleFinish() const; + void ScheduleFinish(boost::optional< std::string > v); /// Indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve. Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'. Custom values may specify a custom name or formula. - std::string ScheduleContour() const; - void setScheduleContour(std::string v); - /// Whether the optional attribute LevelingDelay is defined for this IfcResourceTime - bool hasLevelingDelay() const; + boost::optional< std::string > ScheduleContour() const; + void ScheduleContour(boost::optional< std::string > v); /// Indicates a delay in the ScheduleStart caused by leveling. - std::string LevelingDelay() const; - void setLevelingDelay(std::string v); - /// Whether the optional attribute IsOverAllocated is defined for this IfcResourceTime - bool hasIsOverAllocated() const; + boost::optional< std::string > LevelingDelay() const; + void LevelingDelay(boost::optional< std::string > v); /// Indicates that the resource is scheduled in excess of its capacity. - bool IsOverAllocated() const; - void setIsOverAllocated(bool v); - /// Whether the optional attribute StatusTime is defined for this IfcResourceTime - bool hasStatusTime() const; + boost::optional< bool > IsOverAllocated() const; + void IsOverAllocated(boost::optional< bool > v); /// Indicates the date and time for which status values are applicable; particularly completion, actual, and remaining values. If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values may be determined from such time-phased data as of the StatusTime. - std::string StatusTime() const; - void setStatusTime(std::string v); - /// Whether the optional attribute ActualWork is defined for this IfcResourceTime - bool hasActualWork() const; + boost::optional< std::string > StatusTime() const; + void StatusTime(boost::optional< std::string > v); /// Indicates the actual work performed by the resource as of the StatusTime. - std::string ActualWork() const; - void setActualWork(std::string v); - /// Whether the optional attribute ActualUsage is defined for this IfcResourceTime - bool hasActualUsage() const; + boost::optional< std::string > ActualWork() const; + void ActualWork(boost::optional< std::string > v); /// Indicates the actual amount of the resource used concurrently. - double ActualUsage() const; - void setActualUsage(double v); - /// Whether the optional attribute ActualStart is defined for this IfcResourceTime - bool hasActualStart() const; + boost::optional< double > ActualUsage() const; + void ActualUsage(boost::optional< double > v); /// Indicates the time when the resource actually started working. - std::string ActualStart() const; - void setActualStart(std::string v); - /// Whether the optional attribute ActualFinish is defined for this IfcResourceTime - bool hasActualFinish() const; + boost::optional< std::string > ActualStart() const; + void ActualStart(boost::optional< std::string > v); /// Indicates the time when the resource actually finished working. - std::string ActualFinish() const; - void setActualFinish(std::string v); - /// Whether the optional attribute RemainingWork is defined for this IfcResourceTime - bool hasRemainingWork() const; + boost::optional< std::string > ActualFinish() const; + void ActualFinish(boost::optional< std::string > v); /// Indicates the work remaining to be completed by the resource. - std::string RemainingWork() const; - void setRemainingWork(std::string v); - /// Whether the optional attribute RemainingUsage is defined for this IfcResourceTime - bool hasRemainingUsage() const; - double RemainingUsage() const; - void setRemainingUsage(double v); - /// Whether the optional attribute Completion is defined for this IfcResourceTime - bool hasCompletion() const; + boost::optional< std::string > RemainingWork() const; + void RemainingWork(boost::optional< std::string > v); + boost::optional< double > RemainingUsage() const; + void RemainingUsage(boost::optional< double > v); /// Indicates the percent completion of this resource. If the resource is assigned to a task, then indicates completion of the task on behalf of the resource; if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations. - double Completion() const; - void setCompletion(double v); + boost::optional< double > Completion() const; + void Completion(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 18; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_STRING; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcDuration; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcLabel; case 8: return Type::IfcDuration; case 9: return Type::UNDEFINED; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcPositiveRatioMeasure; case 13: return Type::IfcDateTime; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcPositiveRatioMeasure; case 17: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } @@ -17997,7 +17331,7 @@ class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. double RoundingRadius() const; - void setRoundingRadius(double v); + void RoundingRadius(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcPositiveLengthMeasure; } return IfcRectangleProfileDef::getArgumentEntity(i); } @@ -18007,7 +17341,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoundedRectangleProfileDef (IfcAbstractEntity* e); - IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); + IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > list; }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. @@ -18019,15 +17353,13 @@ class IfcSectionProperties : public IfcPreDefinedProperties { public: /// An indicator whether a specific piece of a cross section is uniform or tapered in longitudinal direction. IfcSectionTypeEnum::IfcSectionTypeEnum SectionType() const; - void setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v); + void SectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v); /// The cross section profile at the start point of the longitudinal section. IfcProfileDef* StartProfile() const; - void setStartProfile(IfcProfileDef* v); - /// Whether the optional attribute EndProfile is defined for this IfcSectionProperties - bool hasEndProfile() const; + void StartProfile(IfcProfileDef* v); /// The cross section profile at the end point of the longitudinal section. - IfcProfileDef* EndProfile() const; - void setEndProfile(IfcProfileDef* v); + boost::optional< IfcProfileDef* > EndProfile() const; + void EndProfile(boost::optional< IfcProfileDef* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcPreDefinedProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSectionTypeEnum; case 1: return Type::IfcProfileDef; case 2: return Type::IfcProfileDef; } return IfcPreDefinedProperties::getArgumentEntity(i); } @@ -18037,7 +17369,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSectionProperties (IfcAbstractEntity* e); - IfcSectionProperties (IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile); + IfcSectionProperties (IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, boost::optional< IfcProfileDef* > v3_EndProfile); typedef IfcTemplatedEntityList< IfcSectionProperties > list; }; /// IfcSectionReinforcementProperties defines the cross section properties of reinforcement for a single longitudinal piece of a cross section with a specific reinforcement usage type. @@ -18051,24 +17383,22 @@ class IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. double LongitudinalStartPosition() const; - void setLongitudinalStartPosition(double v); + void LongitudinalStartPosition(double v); /// The end position in longitudinal direction for the section reinforcement properties. double LongitudinalEndPosition() const; - void setLongitudinalEndPosition(double v); - /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties - bool hasTransversePosition() const; + void LongitudinalEndPosition(double v); /// The position for the section reinforcement properties in transverse direction. - double TransversePosition() const; - void setTransversePosition(double v); + boost::optional< double > TransversePosition() const; + void TransversePosition(boost::optional< double > v); /// The role, purpose or usage of the reinforcement, i.e. the kind of loads and stresses it is intended to carry, defined for the section reinforcement properties. IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum ReinforcementRole() const; - void setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); + void ReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); /// Definition of the cross section profile and longitudinal section type. IfcSectionProperties* SectionDefinition() const; - void setSectionDefinition(IfcSectionProperties* v); + void SectionDefinition(IfcSectionProperties* v); /// The set of reinforcment properties attached to a section reinforcement properties definition. IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr CrossSectionReinforcementDefinitions() const; - void setCrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v); + void CrossSectionReinforcementDefinitions(IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcPreDefinedProperties::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcReinforcingBarRoleEnum; case 4: return Type::IfcSectionProperties; case 5: return Type::IfcReinforcementBarProperties; } return IfcPreDefinedProperties::getArgumentEntity(i); } @@ -18138,13 +17468,13 @@ class IfcSectionedSpine : public IfcGeometricRepresentationItem { public: /// A single composite curve, that defines the spine curve. Each of the composite curve segments correspond to the part between two cross-sections. IfcCompositeCurve* SpineCurve() const; - void setSpineCurve(IfcCompositeCurve* v); + void SpineCurve(IfcCompositeCurve* v); /// A list of at least two cross sections, each defined within the xy plane of the position coordinate system of the cross section. The position coordinate system is given by the corresponding list CrossSectionPositions. IfcTemplatedEntityList< IfcProfileDef >::ptr CrossSections() const; - void setCrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v); + void CrossSections(IfcTemplatedEntityList< IfcProfileDef >::ptr v); /// Position coordinate systems for the cross sections that form the sectioned spine. The profiles defining the cross sections are positioned within the xy plane of the corresponding position coordinate system. IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr CrossSectionPositions() const; - void setCrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v); + void CrossSectionPositions(IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurve; case 1: return Type::IfcProfileDef; case 2: return Type::IfcAxis2Placement3D; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18172,7 +17502,7 @@ public: class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: IfcEntityList::ptr SbsmBoundary() const; - void setSbsmBoundary(IfcEntityList::ptr v); + void SbsmBoundary(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShell; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18213,21 +17543,15 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: - /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition - bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageX() const; - void setSlippageX(double v); - /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition - bool hasSlippageY() const; + boost::optional< double > SlippageX() const; + void SlippageX(boost::optional< double > v); /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageY() const; - void setSlippageY(double v); - /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition - bool hasSlippageZ() const; + boost::optional< double > SlippageY() const; + void SlippageY(boost::optional< double > v); /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - double SlippageZ() const; - void setSlippageZ(double v); + boost::optional< double > SlippageZ() const; + void SlippageZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; } return IfcStructuralConnectionCondition::getArgumentEntity(i); } @@ -18266,36 +17590,24 @@ public: /// edition 2. class IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceX() const; /// Linear force value in x-direction. - double LinearForceX() const; - void setLinearForceX(double v); - /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceY() const; + boost::optional< double > LinearForceX() const; + void LinearForceX(boost::optional< double > v); /// Linear force value in y-direction. - double LinearForceY() const; - void setLinearForceY(double v); - /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceZ() const; + boost::optional< double > LinearForceY() const; + void LinearForceY(boost::optional< double > v); /// Linear force value in z-direction. - double LinearForceZ() const; - void setLinearForceZ(double v); - /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentX() const; + boost::optional< double > LinearForceZ() const; + void LinearForceZ(boost::optional< double > v); /// Linear moment about the x-axis. - double LinearMomentX() const; - void setLinearMomentX(double v); - /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentY() const; + boost::optional< double > LinearMomentX() const; + void LinearMomentX(boost::optional< double > v); /// Linear moment about the y-axis. - double LinearMomentY() const; - void setLinearMomentY(double v); - /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentZ() const; + boost::optional< double > LinearMomentY() const; + void LinearMomentY(boost::optional< double > v); /// Linear moment about the z-axis. - double LinearMomentZ() const; - void setLinearMomentZ(double v); + boost::optional< double > LinearMomentZ() const; + void LinearMomentZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLinearForceMeasure; case 2: return Type::IfcLinearForceMeasure; case 3: return Type::IfcLinearForceMeasure; case 4: return Type::IfcLinearMomentMeasure; case 5: return Type::IfcLinearMomentMeasure; case 6: return Type::IfcLinearMomentMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -18315,21 +17627,15 @@ public: /// edition 2. class IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceX() const; /// Planar force value in x-direction. - double PlanarForceX() const; - void setPlanarForceX(double v); - /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceY() const; + boost::optional< double > PlanarForceX() const; + void PlanarForceX(boost::optional< double > v); /// Planar force value in y-direction. - double PlanarForceY() const; - void setPlanarForceY(double v); - /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceZ() const; + boost::optional< double > PlanarForceY() const; + void PlanarForceY(boost::optional< double > v); /// Planar force value in z-direction. - double PlanarForceZ() const; - void setPlanarForceZ(double v); + boost::optional< double > PlanarForceZ() const; + void PlanarForceZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPlanarForceMeasure; case 2: return Type::IfcPlanarForceMeasure; case 3: return Type::IfcPlanarForceMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -18349,36 +17655,24 @@ public: /// edition 2. class IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementX() const; /// Displacement in x-direction. - double DisplacementX() const; - void setDisplacementX(double v); - /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementY() const; + boost::optional< double > DisplacementX() const; + void DisplacementX(boost::optional< double > v); /// Displacement in y-direction. - double DisplacementY() const; - void setDisplacementY(double v); - /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementZ() const; + boost::optional< double > DisplacementY() const; + void DisplacementY(boost::optional< double > v); /// Displacement in z-direction. - double DisplacementZ() const; - void setDisplacementZ(double v); - /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRX() const; + boost::optional< double > DisplacementZ() const; + void DisplacementZ(boost::optional< double > v); /// Rotation about the x-axis. - double RotationalDisplacementRX() const; - void setRotationalDisplacementRX(double v); - /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRY() const; + boost::optional< double > RotationalDisplacementRX() const; + void RotationalDisplacementRX(boost::optional< double > v); /// Rotation about the y-axis. - double RotationalDisplacementRY() const; - void setRotationalDisplacementRY(double v); - /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRZ() const; + boost::optional< double > RotationalDisplacementRY() const; + void RotationalDisplacementRY(boost::optional< double > v); /// Rotation about the z-axis. - double RotationalDisplacementRZ() const; - void setRotationalDisplacementRZ(double v); + boost::optional< double > RotationalDisplacementRZ() const; + void RotationalDisplacementRZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLengthMeasure; case 3: return Type::IfcLengthMeasure; case 4: return Type::IfcPlaneAngleMeasure; case 5: return Type::IfcPlaneAngleMeasure; case 6: return Type::IfcPlaneAngleMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -18396,11 +17690,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: - /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion - bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - double Distortion() const; - void setDistortion(double v); + boost::optional< double > Distortion() const; + void Distortion(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleDisplacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcCurvatureMeasure; } return IfcStructuralLoadSingleDisplacement::getArgumentEntity(i); } @@ -18421,36 +17713,24 @@ public: /// edition 2. class IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: - /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce - bool hasForceX() const; /// Force value in x-direction. - double ForceX() const; - void setForceX(double v); - /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce - bool hasForceY() const; + boost::optional< double > ForceX() const; + void ForceX(boost::optional< double > v); /// Force value in y-direction. - double ForceY() const; - void setForceY(double v); - /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce - bool hasForceZ() const; + boost::optional< double > ForceY() const; + void ForceY(boost::optional< double > v); /// Force value in z-direction. - double ForceZ() const; - void setForceZ(double v); - /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce - bool hasMomentX() const; + boost::optional< double > ForceZ() const; + void ForceZ(boost::optional< double > v); /// Moment about the x-axis. - double MomentX() const; - void setMomentX(double v); - /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce - bool hasMomentY() const; + boost::optional< double > MomentX() const; + void MomentX(boost::optional< double > v); /// Moment about the y-axis. - double MomentY() const; - void setMomentY(double v); - /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce - bool hasMomentZ() const; + boost::optional< double > MomentY() const; + void MomentY(boost::optional< double > v); /// Moment about the z-axis. - double MomentZ() const; - void setMomentZ(double v); + boost::optional< double > MomentZ() const; + void MomentZ(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcForceMeasure; case 2: return Type::IfcForceMeasure; case 3: return Type::IfcForceMeasure; case 4: return Type::IfcTorqueMeasure; case 5: return Type::IfcTorqueMeasure; case 6: return Type::IfcTorqueMeasure; } return IfcStructuralLoadStatic::getArgumentEntity(i); } @@ -18473,11 +17753,9 @@ public: /// edition 2. class IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: - /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping - bool hasWarpingMoment() const; /// The warping moment at the point load. - double WarpingMoment() const; - void setWarpingMoment(double v); + boost::optional< double > WarpingMoment() const; + void WarpingMoment(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleForce::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcWarpingMomentMeasure; } return IfcStructuralLoadSingleForce::getArgumentEntity(i); } @@ -18504,7 +17782,7 @@ class IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. IfcEdge* ParentEdge() const; - void setParentEdge(IfcEdge* v); + void ParentEdge(IfcEdge* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcEdge::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; } return IfcEdge::getArgumentEntity(i); } @@ -18588,55 +17866,41 @@ public: /// HISTORY: New Entity in IFC 2x. class IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: - /// Whether the optional attribute Transparency is defined for this IfcSurfaceStyleRendering - bool hasTransparency() const; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. - double Transparency() const; - void setTransparency(double v); - /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseColour() const; + boost::optional< double > Transparency() const; + void Transparency(boost::optional< double > v); /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. - IfcColourOrFactor* DiffuseColour() const; - void setDiffuseColour(IfcColourOrFactor* v); - /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasTransmissionColour() const; + boost::optional< IfcColourOrFactor* > DiffuseColour() const; + void DiffuseColour(boost::optional< IfcColourOrFactor* > v); /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. - IfcColourOrFactor* TransmissionColour() const; - void setTransmissionColour(IfcColourOrFactor* v); - /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseTransmissionColour() const; + boost::optional< IfcColourOrFactor* > TransmissionColour() const; + void TransmissionColour(boost::optional< IfcColourOrFactor* > v); /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. - IfcColourOrFactor* DiffuseTransmissionColour() const; - void setDiffuseTransmissionColour(IfcColourOrFactor* v); - /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering - bool hasReflectionColour() const; + boost::optional< IfcColourOrFactor* > DiffuseTransmissionColour() const; + void DiffuseTransmissionColour(boost::optional< IfcColourOrFactor* > v); /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. - IfcColourOrFactor* ReflectionColour() const; - void setReflectionColour(IfcColourOrFactor* v); - /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering - bool hasSpecularColour() const; + boost::optional< IfcColourOrFactor* > ReflectionColour() const; + void ReflectionColour(boost::optional< IfcColourOrFactor* > v); /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. - IfcColourOrFactor* SpecularColour() const; - void setSpecularColour(IfcColourOrFactor* v); - /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering - bool hasSpecularHighlight() const; + boost::optional< IfcColourOrFactor* > SpecularColour() const; + void SpecularColour(boost::optional< IfcColourOrFactor* > v); /// The exponent or roughness part of the specular reflectance. - IfcSpecularHighlightSelect* SpecularHighlight() const; - void setSpecularHighlight(IfcSpecularHighlightSelect* v); + boost::optional< IfcSpecularHighlightSelect* > SpecularHighlight() const; + void SpecularHighlight(boost::optional< IfcSpecularHighlightSelect* > v); /// Identifies the predefined types of reflectance method from which the method required may be set. IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod() const; - void setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v); + void ReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcSurfaceStyleShading::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcNormalisedRatioMeasure; case 2: return Type::IfcColourOrFactor; case 3: return Type::IfcColourOrFactor; case 4: return Type::IfcColourOrFactor; case 5: return Type::IfcColourOrFactor; case 6: return Type::IfcColourOrFactor; case 7: return Type::IfcSpecularHighlightSelect; case 8: return Type::IfcReflectanceMethodEnum; } return IfcSurfaceStyleShading::getArgumentEntity(i); } @@ -18646,7 +17910,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyleRendering (IfcAbstractEntity* e); - IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); + IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, boost::optional< IfcColourOrFactor* > v3_DiffuseColour, boost::optional< IfcColourOrFactor* > v4_TransmissionColour, boost::optional< IfcColourOrFactor* > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor* > v6_ReflectionColour, boost::optional< IfcColourOrFactor* > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect* > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area @@ -18671,12 +17935,10 @@ class IfcSweptAreaSolid : public IfcSolidModel { public: /// The surface defining the area to be swept. It is given as a profile definition within the xy plane of the position coordinate system. IfcProfileDef* SweptArea() const; - void setSweptArea(IfcProfileDef* v); - /// Whether the optional attribute Position is defined for this IfcSweptAreaSolid - bool hasPosition() const; + void SweptArea(IfcProfileDef* v); /// Position coordinate system for the swept area, provided by a profile definition within the XY plane of the Position. - IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + boost::optional< IfcAxis2Placement3D* > Position() const; + void Position(boost::optional< IfcAxis2Placement3D* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProfileDef; case 1: return Type::IfcAxis2Placement3D; } return IfcSolidModel::getArgumentEntity(i); } @@ -18686,7 +17948,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSweptAreaSolid (IfcAbstractEntity* e); - IfcSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position); + IfcSweptAreaSolid (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position); typedef IfcTemplatedEntityList< IfcSweptAreaSolid > list; }; /// Definition from ISO 10303-42:2002: A swept @@ -18746,29 +18008,23 @@ class IfcSweptDiskSolid : public IfcSolidModel { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping a circular disk along the Directrix. IfcCurve* Directrix() const; - void setDirectrix(IfcCurve* v); + void Directrix(IfcCurve* v); /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. double Radius() const; - void setRadius(double v); - /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid - bool hasInnerRadius() const; + void Radius(double v); /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - double InnerRadius() const; - void setInnerRadius(double v); - /// Whether the optional attribute StartParam is defined for this IfcSweptDiskSolid - bool hasStartParam() const; + boost::optional< double > InnerRadius() const; + void InnerRadius(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - double StartParam() const; - void setStartParam(double v); - /// Whether the optional attribute EndParam is defined for this IfcSweptDiskSolid - bool hasEndParam() const; + boost::optional< double > StartParam() const; + void StartParam(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - double EndParam() const; - void setEndParam(double v); + boost::optional< double > EndParam() const; + void EndParam(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; } return IfcSolidModel::getArgumentEntity(i); } @@ -18793,11 +18049,9 @@ public: /// lenght of the shortest inner segment. class IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: - /// Whether the optional attribute FilletRadius is defined for this IfcSweptDiskSolidPolygonal - bool hasFilletRadius() const; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. - double FilletRadius() const; - void setFilletRadius(double v); + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcSweptDiskSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcPositiveLengthMeasure; } return IfcSweptDiskSolid::getArgumentEntity(i); } @@ -18819,12 +18073,10 @@ class IfcSweptSurface : public IfcSurface { public: /// The curve to be swept in defining the surface. The curve is defined as a profile within the position coordinate system. IfcProfileDef* SweptCurve() const; - void setSweptCurve(IfcProfileDef* v); - /// Whether the optional attribute Position is defined for this IfcSweptSurface - bool hasPosition() const; + void SweptCurve(IfcProfileDef* v); /// Position coordinate system for the placement of the profile within the xy plane of the axis placement. - IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + boost::optional< IfcAxis2Placement3D* > Position() const; + void Position(boost::optional< IfcAxis2Placement3D* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcProfileDef; case 1: return Type::IfcAxis2Placement3D; } return IfcSurface::getArgumentEntity(i); } @@ -18834,7 +18086,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSweptSurface (IfcAbstractEntity* e); - IfcSweptSurface (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position); + IfcSweptSurface (IfcProfileDef* v1_SweptCurve, boost::optional< IfcAxis2Placement3D* > v2_Position); typedef IfcTemplatedEntityList< IfcSweptSurface > list; }; /// IfcTShapeProfileDef defines @@ -18869,41 +18121,31 @@ class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Flange lengths, see illustration above (= b). double FlangeWidth() const; - void setFlangeWidth(double v); + void FlangeWidth(double v); /// Constant wall thickness of web (= ts). double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Constant wall thickness of flange (= tg). double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef - bool hasFlangeEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double FlangeEdgeRadius() const; - void setFlangeEdgeRadius(double v); - /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef - bool hasWebEdgeRadius() const; + boost::optional< double > FlangeEdgeRadius() const; + void FlangeEdgeRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r3). - double WebEdgeRadius() const; - void setWebEdgeRadius(double v); - /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef - bool hasWebSlope() const; + boost::optional< double > WebEdgeRadius() const; + void WebEdgeRadius(boost::optional< double > v); /// Slope of flange of the profile. - double WebSlope() const; - void setWebSlope(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef - bool hasFlangeSlope() const; + boost::optional< double > WebSlope() const; + void WebSlope(boost::optional< double > v); /// Slope of web of the profile. - double FlangeSlope() const; - void setFlangeSlope(double v); + boost::optional< double > FlangeSlope() const; + void FlangeSlope(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcNonNegativeLengthMeasure; case 9: return Type::IfcNonNegativeLengthMeasure; case 10: return Type::IfcPlaneAngleMeasure; case 11: return Type::IfcPlaneAngleMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -18913,7 +18155,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTShapeProfileDef (IfcAbstractEntity* e); - IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope); + IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope); typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; @@ -18945,14 +18187,14 @@ class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. std::string Literal() const; - void setLiteral(std::string v); + void Literal(std::string v); /// An IfcAxis2Placement that determines the placement and orientation of the presented string. /// When used with a text style based on IfcTextStyleWithBoxCharacteristics then the y-axis is taken as the reference direction for the box rotation angle and the box slant angle. IfcAxis2Placement* Placement() const; - void setPlacement(IfcAxis2Placement* v); + void Placement(IfcAxis2Placement* v); /// The writing direction of the text literal. IfcTextPath::IfcTextPath Path() const; - void setPath(IfcTextPath::IfcTextPath v); + void Path(IfcTextPath::IfcTextPath v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPresentableText; case 1: return Type::IfcAxis2Placement; case 2: return Type::IfcTextPath; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -18978,10 +18220,10 @@ class IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. IfcPlanarExtent* Extent() const; - void setExtent(IfcPlanarExtent* v); + void Extent(IfcPlanarExtent* v); /// The alignment of the text literal relative to its position. std::string BoxAlignment() const; - void setBoxAlignment(std::string v); + void BoxAlignment(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcTextLiteral::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPlanarExtent; case 4: return Type::IfcBoxAlignment; } return IfcTextLiteral::getArgumentEntity(i); } @@ -19063,28 +18305,22 @@ class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. std::vector< std::string > /*[1:?]*/ FontFamily() const; - void setFontFamily(std::vector< std::string > /*[1:?]*/ v); - /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel - bool hasFontStyle() const; + void FontFamily(std::vector< std::string > /*[1:?]*/ v); /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - std::string FontStyle() const; - void setFontStyle(std::string v); - /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel - bool hasFontVariant() const; + boost::optional< std::string > FontStyle() const; + void FontStyle(boost::optional< std::string > v); /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - std::string FontVariant() const; - void setFontVariant(std::string v); - /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel - bool hasFontWeight() const; + boost::optional< std::string > FontVariant() const; + void FontVariant(boost::optional< std::string > v); /// The font weight property selects the weight of the font. /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. - std::string FontWeight() const; - void setFontWeight(std::string v); + boost::optional< std::string > FontWeight() const; + void FontWeight(boost::optional< std::string > v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); + IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef > list; }; /// The object type defines the @@ -19194,8 +18430,6 @@ public: /// IFC2x4 CHANGE (1) The entity IfcTypeObject shall not be instantiated from IFC2x4 onwards. It will be changed into an ABSTRACT supertype in future releases of IFC. (2) The inverse attribute Types has been renamed from ObjectTypeOf. class IfcTypeObject : public IfcObjectDefinition { public: - /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject - bool hasApplicableOccurrence() const; /// The attribute optionally defines the data type of the occurrence object, to which the assigned type object can relate. If not present, no instruction is given to which occurrence object the type object is applicable. The following conventions are used: /// /// The IFC entity name of the applicable occurrence using the IFC naming convention, CamelCase with IFC prefix @@ -19203,15 +18437,13 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - std::string ApplicableOccurrence() const; - void setApplicableOccurrence(std::string v); - /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject - bool hasHasPropertySets() const; + boost::optional< std::string > ApplicableOccurrence() const; + void ApplicableOccurrence(boost::optional< std::string > v); /// Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type. /// /// IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET. - IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr HasPropertySets() const; - void setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > HasPropertySets() const; + void HasPropertySets(boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcObjectDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcIdentifier; case 5: return Type::IfcPropertySetDefinition; } return IfcObjectDefinition::getArgumentEntity(i); } @@ -19222,7 +18454,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeObject (IfcAbstractEntity* e); - IfcTypeObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); + IfcTypeObject (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); typedef IfcTemplatedEntityList< IfcTypeObject > list; }; /// IfcTypeProcess defines a @@ -19255,23 +18487,17 @@ public: /// type. class IfcTypeProcess : public IfcTypeObject { public: - /// Whether the optional attribute Identification is defined for this IfcTypeProcess - bool hasIdentification() const; /// An identifying designation given to a process type. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcTypeProcess - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// An long description, or text, describing the activity in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - std::string LongDescription() const; - void setLongDescription(std::string v); - /// Whether the optional attribute ProcessType is defined for this IfcTypeProcess - bool hasProcessType() const; + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); /// The type denotes a particular type that indicates the process further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ProcessType() const; - void setProcessType(std::string v); + boost::optional< std::string > ProcessType() const; + void ProcessType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcIdentifier; case 7: return Type::IfcText; case 8: return Type::IfcLabel; } return IfcTypeObject::getArgumentEntity(i); } @@ -19282,7 +18508,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeProcess (IfcAbstractEntity* e); - IfcTypeProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType); + IfcTypeProcess (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType); typedef IfcTemplatedEntityList< IfcTypeProcess > list; }; /// IfcTypeProduct defines a type @@ -19353,16 +18579,12 @@ public: /// Figure 11 — Product type geometry with multiple placement class IfcTypeProduct : public IfcTypeObject { public: - /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct - bool hasRepresentationMaps() const; /// List of unique representation maps. Each representation map describes a block definition of the shape of the product style. By providing more than one representation map, a multi-view block definition can be given. - IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMaps() const; - void setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v); - /// Whether the optional attribute Tag is defined for this IfcTypeProduct - bool hasTag() const; + boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > RepresentationMaps() const; + void RepresentationMaps(boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v); /// The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void Tag(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcRepresentationMap; case 7: return Type::IfcLabel; } return IfcTypeObject::getArgumentEntity(i); } @@ -19373,7 +18595,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeProduct (IfcAbstractEntity* e); - IfcTypeProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag); + IfcTypeProduct (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcTypeProduct > list; }; /// IfcTypeResource defines a specific (or type) definition of a resource.ÿIt is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. @@ -19390,23 +18612,17 @@ public: /// NOTE: For property sets, a property within an occurrence property set that is assigned at the resource occurrence, overrides the same property assigned to the resource type. class IfcTypeResource : public IfcTypeObject { public: - /// Whether the optional attribute Identification is defined for this IfcTypeResource - bool hasIdentification() const; /// An identifying designation given to a resource type. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcTypeResource - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// An long description, or text, describing the resource in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - std::string LongDescription() const; - void setLongDescription(std::string v); - /// Whether the optional attribute ResourceType is defined for this IfcTypeResource - bool hasResourceType() const; + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); /// The type denotes a particular type that indicates the resource further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ResourceType() const; - void setResourceType(std::string v); + boost::optional< std::string > ResourceType() const; + void ResourceType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcIdentifier; case 7: return Type::IfcText; case 8: return Type::IfcLabel; } return IfcTypeObject::getArgumentEntity(i); } @@ -19417,7 +18633,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeResource (IfcAbstractEntity* e); - IfcTypeResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType); + IfcTypeResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType); typedef IfcTemplatedEntityList< IfcTypeResource > list; }; /// IfcUShapeProfileDef defines @@ -19452,31 +18668,25 @@ class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Flange lengths, see illustration above (= b). double FlangeWidth() const; - void setFlangeWidth(double v); + void FlangeWidth(double v); /// Constant wall thickness of web (= ts). double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Constant wall thickness of flange (= tg). double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef - bool hasFlangeSlope() const; + boost::optional< double > EdgeRadius() const; + void EdgeRadius(boost::optional< double > v); /// Slope of flange of the profile. - double FlangeSlope() const; - void setFlangeSlope(double v); + boost::optional< double > FlangeSlope() const; + void FlangeSlope(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcNonNegativeLengthMeasure; case 9: return Type::IfcPlaneAngleMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -19486,7 +18696,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUShapeProfileDef (IfcAbstractEntity* e); - IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope); + IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope); typedef IfcTemplatedEntityList< IfcUShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: The vector is defined in terms of the direction and magnitude of the vector. The value of the magnitude attribute defines the magnitude of the vector. @@ -19500,10 +18710,10 @@ class IfcVector : public IfcGeometricRepresentationItem { public: /// The direction of the vector. IfcDirection* Orientation() const; - void setOrientation(IfcDirection* v); + void Orientation(IfcDirection* v); /// The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute. double Magnitude() const; - void setMagnitude(double v); + void Magnitude(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcLengthMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19532,7 +18742,7 @@ class IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. IfcVertex* LoopVertex() const; - void setLoopVertex(IfcVertex* v); + void LoopVertex(IfcVertex* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcLoop::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVertex; } return IfcLoop::getArgumentEntity(i); } @@ -19567,16 +18777,16 @@ class IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType() const; - void setConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v); + void ConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v); /// Type defining the general layout and operation of the window style. IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum OperationType() const; - void setOperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v); + void OperationType(IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v); /// The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value. bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); + void ParameterTakesPrecedence(bool v); /// The Boolean indicates, whether the attached ShapeStyle can be sized (using scale factor of transformation), or not (FALSE). If not, the ShapeStyle should be inserted by the IfcWindow (using IfcMappedItem) with the scale factor = 1. bool Sizeable() const; - void setSizeable(bool v); + void Sizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWindowStyleConstructionEnum; case 9: return Type::IfcWindowStyleOperationEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } @@ -19586,7 +18796,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowStyle (IfcAbstractEntity* e); - IfcWindowStyle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); typedef IfcTemplatedEntityList< IfcWindowStyle > list; }; /// IfcZShapeProfileDef defines @@ -19618,26 +18828,22 @@ class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Flange length, see illustration above (= b). double FlangeWidth() const; - void setFlangeWidth(double v); + void FlangeWidth(double v); /// Constant wall thickness of web, see illustration above (= ts). double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Constant wall thickness of flange, see illustration above (= tg). double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); + boost::optional< double > EdgeRadius() const; + void EdgeRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcNonNegativeLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -19647,7 +18853,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcZShapeProfileDef (IfcAbstractEntity* e); - IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius); + IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius); typedef IfcTemplatedEntityList< IfcZShapeProfileDef > list; }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. @@ -19703,14 +18909,12 @@ public: /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. IfcCurve* OuterBoundary() const; - void setOuterBoundary(IfcCurve* v); - /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea - bool hasInnerBoundaries() const; + void OuterBoundary(IfcCurve* v); /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; - void setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > InnerBoundaries() const; + void InnerBoundaries(boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -19763,46 +18967,32 @@ public: class IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: double BottomFlangeWidth() const; - void setBottomFlangeWidth(double v); + void BottomFlangeWidth(double v); double OverallDepth() const; - void setOverallDepth(double v); + void OverallDepth(double v); double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); double BottomFlangeThickness() const; - void setBottomFlangeThickness(double v); - /// Whether the optional attribute BottomFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeFilletRadius() const; - double BottomFlangeFilletRadius() const; - void setBottomFlangeFilletRadius(double v); + void BottomFlangeThickness(double v); + boost::optional< double > BottomFlangeFilletRadius() const; + void BottomFlangeFilletRadius(boost::optional< double > v); /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. double TopFlangeWidth() const; - void setTopFlangeWidth(double v); - /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeThickness() const; + void TopFlangeWidth(double v); /// Flange thickness of the top flange of the I-shape. - double TopFlangeThickness() const; - void setTopFlangeThickness(double v); - /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeFilletRadius() const; + boost::optional< double > TopFlangeThickness() const; + void TopFlangeThickness(boost::optional< double > v); /// The fillet between the web and the top flange of the I-shape. - double TopFlangeFilletRadius() const; - void setTopFlangeFilletRadius(double v); - /// Whether the optional attribute BottomFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeEdgeRadius() const; - double BottomFlangeEdgeRadius() const; - void setBottomFlangeEdgeRadius(double v); - /// Whether the optional attribute BottomFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeSlope() const; - double BottomFlangeSlope() const; - void setBottomFlangeSlope(double v); - /// Whether the optional attribute TopFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeEdgeRadius() const; - double TopFlangeEdgeRadius() const; - void setTopFlangeEdgeRadius(double v); - /// Whether the optional attribute TopFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeSlope() const; - double TopFlangeSlope() const; - void setTopFlangeSlope(double v); + boost::optional< double > TopFlangeFilletRadius() const; + void TopFlangeFilletRadius(boost::optional< double > v); + boost::optional< double > BottomFlangeEdgeRadius() const; + void BottomFlangeEdgeRadius(boost::optional< double > v); + boost::optional< double > BottomFlangeSlope() const; + void BottomFlangeSlope(boost::optional< double > v); + boost::optional< double > TopFlangeEdgeRadius() const; + void TopFlangeEdgeRadius(boost::optional< double > v); + boost::optional< double > TopFlangeSlope() const; + void TopFlangeSlope(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcNonNegativeLengthMeasure; case 11: return Type::IfcNonNegativeLengthMeasure; case 12: return Type::IfcPlaneAngleMeasure; case 13: return Type::IfcNonNegativeLengthMeasure; case 14: return Type::IfcPlaneAngleMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -19812,7 +19002,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAsymmetricIShapeProfileDef (IfcAbstractEntity* e); - IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope); typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: The direction and location in three dimensional space of a single axis. An axis1_placement is defined in terms of a locating point (inherited from placement supertype) and an axis direction: this is either the direction of axis or defaults to (0.0,0.0,1.0). The actual direction for the axis placement is given by the derived attribute z (Z). @@ -19826,11 +19016,9 @@ public: /// Figure 274 — Axis1 placement class IfcAxis1Placement : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis1Placement - bool hasAxis() const; /// The direction of the local Z axis. - IfcDirection* Axis() const; - void setAxis(IfcDirection* v); + boost::optional< IfcDirection* > Axis() const; + void Axis(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDirection; } return IfcPlacement::getArgumentEntity(i); } @@ -19840,7 +19028,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAxis1Placement (IfcAbstractEntity* e); - IfcAxis1Placement (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis); + IfcAxis1Placement (IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis); typedef IfcTemplatedEntityList< IfcAxis1Placement > list; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in two dimensional space of two mutually perpendicular axes. An axis2_placement_2d is defined in terms of a point, (inherited from the placement supertype), and an axis. It can be used to locate and originate an object in two dimensional space and to define a placement coordinate system. The class includes a point which forms the origin of the placement coordinate system. A direction vector is required to complete the definition of the placement coordinate system. The reference direction defines the placement X axis direction, the placement Y axis is derived from this. @@ -19856,11 +19044,9 @@ public: /// Figure 275 — Axis2 placement 2D class IfcAxis2Placement2D : public IfcPlacement { public: - /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D - bool hasRefDirection() const; /// The direction used to determine the direction of the local X axis. If a value is omited that it defaults to [1.0, 0.0.]. - IfcDirection* RefDirection() const; - void setRefDirection(IfcDirection* v); + boost::optional< IfcDirection* > RefDirection() const; + void RefDirection(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDirection; } return IfcPlacement::getArgumentEntity(i); } @@ -19870,7 +19056,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAxis2Placement2D (IfcAbstractEntity* e); - IfcAxis2Placement2D (IfcCartesianPoint* v1_Location, IfcDirection* v2_RefDirection); + IfcAxis2Placement2D (IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_RefDirection); typedef IfcTemplatedEntityList< IfcAxis2Placement2D > list; }; /// Definition from ISO/CD 10303-42:1992: The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and originate an object in three dimensional space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction. @@ -19888,16 +19074,12 @@ public: /// Figure 276 — Axis2 placement 3D class IfcAxis2Placement3D : public IfcPlacement { public: - /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D - bool hasAxis() const; /// The exact direction of the local Z Axis. - IfcDirection* Axis() const; - void setAxis(IfcDirection* v); - /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D - bool hasRefDirection() const; + boost::optional< IfcDirection* > Axis() const; + void Axis(boost::optional< IfcDirection* > v); /// The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system. - IfcDirection* RefDirection() const; - void setRefDirection(IfcDirection* v); + boost::optional< IfcDirection* > RefDirection() const; + void RefDirection(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcPlacement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcDirection; case 2: return Type::IfcDirection; } return IfcPlacement::getArgumentEntity(i); } @@ -19907,7 +19089,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAxis2Placement3D (IfcAbstractEntity* e); - IfcAxis2Placement3D (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis, IfcDirection* v3_RefDirection); + IfcAxis2Placement3D (IfcCartesianPoint* v1_Location, boost::optional< IfcDirection* > v2_Axis, boost::optional< IfcDirection* > v3_RefDirection); typedef IfcTemplatedEntityList< IfcAxis2Placement3D > list; }; /// Definition from ISO/CD 10303-42:1992: A Boolean result @@ -19940,13 +19122,13 @@ class IfcBooleanResult : public IfcGeometricRepresentationItem { public: /// The Boolean operator used in the operation to create the result. IfcBooleanOperator::IfcBooleanOperator Operator() const; - void setOperator(IfcBooleanOperator::IfcBooleanOperator v); + void Operator(IfcBooleanOperator::IfcBooleanOperator v); /// The first operand to be operated upon by the Boolean operation. IfcBooleanOperand* FirstOperand() const; - void setFirstOperand(IfcBooleanOperand* v); + void FirstOperand(IfcBooleanOperand* v); /// The second operand specified for the operation. IfcBooleanOperand* SecondOperand() const; - void setSecondOperand(IfcBooleanOperand* v); + void SecondOperand(IfcBooleanOperand* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcBooleanOperator; case 1: return Type::IfcBooleanOperand; case 2: return Type::IfcBooleanOperand; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20011,16 +19193,16 @@ class IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). IfcCartesianPoint* Corner() const; - void setCorner(IfcCartesianPoint* v); + void Corner(IfcCartesianPoint* v); /// Length attribute (measured along the edge parallel to the X Axis) double XDim() const; - void setXDim(double v); + void XDim(double v); /// Width attribute (measured along the edge parallel to the Y Axis) double YDim() const; - void setYDim(double v); + void YDim(double v); /// Height attribute (measured along the edge parallel to the Z Axis). double ZDim() const; - void setZDim(double v); + void ZDim(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20067,7 +19249,7 @@ class IfcBoxedHalfSpace : public IfcHalfSpaceSolid { public: /// The box which bounds the resulting solid of the Boolean operation involving the half space solid for computational purposes only. IfcBoundingBox* Enclosure() const; - void setEnclosure(IfcBoundingBox* v); + void Enclosure(IfcBoundingBox* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcHalfSpaceSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcBoundingBox; } return IfcHalfSpaceSolid::getArgumentEntity(i); } @@ -20106,21 +19288,19 @@ class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). double Depth() const; - void setDepth(double v); + void Depth(double v); /// Profile width, see illustration above (= b). double Width() const; - void setWidth(double v); + void Width(double v); /// Constant wall thickness of profile (= ts). double WallThickness() const; - void setWallThickness(double v); + void WallThickness(double v); /// Lengths of girth, see illustration above (= c). double Girth() const; - void setGirth(double v); - /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef - bool hasInternalFilletRadius() const; + void Girth(double v); /// Internal fillet radius according the above illustration (= r1). - double InternalFilletRadius() const; - void setInternalFilletRadius(double v); + boost::optional< double > InternalFilletRadius() const; + void InternalFilletRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -20130,7 +19310,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCShapeProfileDef (IfcAbstractEntity* e); - IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius); + IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius); typedef IfcTemplatedEntityList< IfcCShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A point defined by its coordinates in a two or three dimensional rectangular Cartesian coordinate system, or in a two dimensional parameter space. The entity is defined in a two or three dimensional space. @@ -20144,7 +19324,7 @@ class IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. std::vector< double > /*[1:3]*/ Coordinates() const; - void setCoordinates(std::vector< double > /*[1:3]*/ v); + void Coordinates(std::vector< double > /*[1:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; } return IfcPoint::getArgumentEntity(i); } @@ -20219,24 +19399,18 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: - /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator - bool hasAxis1() const; /// The direction used to determine U[1], the derived X axis direction. - IfcDirection* Axis1() const; - void setAxis1(IfcDirection* v); - /// Whether the optional attribute Axis2 is defined for this IfcCartesianTransformationOperator - bool hasAxis2() const; + boost::optional< IfcDirection* > Axis1() const; + void Axis1(boost::optional< IfcDirection* > v); /// The direction used to determine U[2], the derived Y axis direction. - IfcDirection* Axis2() const; - void setAxis2(IfcDirection* v); + boost::optional< IfcDirection* > Axis2() const; + void Axis2(boost::optional< IfcDirection* > v); /// The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin. IfcCartesianPoint* LocalOrigin() const; - void setLocalOrigin(IfcCartesianPoint* v); - /// Whether the optional attribute Scale is defined for this IfcCartesianTransformationOperator - bool hasScale() const; + void LocalOrigin(IfcCartesianPoint* v); /// The scaling value specified for the transformation. - double Scale() const; - void setScale(double v); + boost::optional< double > Scale() const; + void Scale(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcDirection; case 2: return Type::IfcCartesianPoint; case 3: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20246,7 +19420,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator (IfcAbstractEntity* e); - IfcCartesianTransformationOperator (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); + IfcCartesianTransformationOperator (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 2d defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring. @@ -20265,7 +19439,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator2D (IfcAbstractEntity* e); - IfcCartesianTransformationOperator2D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); + IfcCartesianTransformationOperator2D (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2D > list; }; /// A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors: @@ -20280,11 +19454,9 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: - /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform - bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2() const; - void setScale2(double v); + boost::optional< double > Scale2() const; + void Scale2(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator2D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; } return IfcCartesianTransformationOperator2D::getArgumentEntity(i); } @@ -20294,7 +19466,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntity* e); - IfcCartesianTransformationOperator2DnonUniform (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2); + IfcCartesianTransformationOperator2DnonUniform (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring. @@ -20304,11 +19476,9 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: - /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D - bool hasAxis3() const; /// The exact direction of U[3], the derived Z axis direction. - IfcDirection* Axis3() const; - void setAxis3(IfcDirection* v); + boost::optional< IfcDirection* > Axis3() const; + void Axis3(boost::optional< IfcDirection* > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; } return IfcCartesianTransformationOperator::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDirection; } return IfcCartesianTransformationOperator::getArgumentEntity(i); } @@ -20318,7 +19488,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator3D (IfcAbstractEntity* e); - IfcCartesianTransformationOperator3D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3); + IfcCartesianTransformationOperator3D (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3D > list; }; /// A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors: @@ -20334,16 +19504,12 @@ public: /// HISTORY: New entity in IFC Release 2x. class IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: - /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2() const; - void setScale2(double v); - /// Whether the optional attribute Scale3 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale3() const; + boost::optional< double > Scale2() const; + void Scale2(boost::optional< double > v); /// The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. - double Scale3() const; - void setScale3(double v); + boost::optional< double > Scale3() const; + void Scale3(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcCartesianTransformationOperator3D::getArgumentEntity(i); } @@ -20353,7 +19519,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianTransformationOperator3DnonUniform (IfcAbstractEntity* e); - IfcCartesianTransformationOperator3DnonUniform (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3); + IfcCartesianTransformationOperator3DnonUniform (boost::optional< IfcDirection* > v1_Axis1, boost::optional< IfcDirection* > v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< IfcDirection* > v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3); typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform > list; }; /// IfcCircleProfileDef defines a circle as the profile definition used by the swept surface geometry or by the swept area solid. It is given by its Radius attribute and placed within the 2D position coordinate system, established by the Position attribute. @@ -20372,7 +19538,7 @@ class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -20382,7 +19548,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircleProfileDef (IfcAbstractEntity* e); - IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius); + IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Radius); typedef IfcTemplatedEntityList< IfcCircleProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell @@ -20462,17 +19628,17 @@ public: /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Red() const; - void setRed(double v); + void Red(double v); /// The intensity of the green colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Green() const; - void setGreen(double v); + void Green(double v); /// The intensity of the blue colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. double Blue() const; - void setBlue(double v); + void Blue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcNormalisedRatioMeasure; case 2: return Type::IfcNormalisedRatioMeasure; case 3: return Type::IfcNormalisedRatioMeasure; } return IfcColourSpecification::getArgumentEntity(i); } @@ -20495,10 +19661,10 @@ public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. std::string UsageName() const; - void setUsageName(std::string v); + void UsageName(std::string v); /// Set of properties that can be used within this complex property (may include other complex properties). IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; - void setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcIdentifier; case 3: return Type::IfcProperty; } return IfcProperty::getArgumentEntity(i); } @@ -20522,15 +19688,15 @@ class IfcCompositeCurveSegment : public IfcGeometricRepresentationItem { public: /// The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. IfcTransitionCode::IfcTransitionCode Transition() const; - void setTransition(IfcTransitionCode::IfcTransitionCode v); + void Transition(IfcTransitionCode::IfcTransitionCode v); /// An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. /// /// NOTE  If the datatype of ParentCurve is IfcTrimmedCurve, the value of SameSense overrides the value of IfcTrimmedCurve.SenseAgreement bool SameSense() const; - void setSameSense(bool v); + void SameSense(bool v); /// The bounded curve which defines the geometry of the segment. IfcCurve* ParentCurve() const; - void setParentCurve(IfcCurve* v); + void ParentCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTransitionCode; case 1: return Type::UNDEFINED; case 2: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20561,14 +19727,10 @@ public: /// Figure 193 — Construction resource type assignment class IfcConstructionResourceType : public IfcTypeResource { public: - /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResourceType - bool hasBaseCosts() const; - IfcTemplatedEntityList< IfcAppliedValue >::ptr BaseCosts() const; - void setBaseCosts(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); - /// Whether the optional attribute BaseQuantity is defined for this IfcConstructionResourceType - bool hasBaseQuantity() const; - IfcPhysicalQuantity* BaseQuantity() const; - void setBaseQuantity(IfcPhysicalQuantity* v); + boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > BaseCosts() const; + void BaseCosts(boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v); + boost::optional< IfcPhysicalQuantity* > BaseQuantity() const; + void BaseQuantity(boost::optional< IfcPhysicalQuantity* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_ENTITY; } return IfcTypeResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAppliedValue; case 10: return Type::IfcPhysicalQuantity; } return IfcTypeResource::getArgumentEntity(i); } @@ -20578,7 +19740,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionResourceType (IfcAbstractEntity* e); - IfcConstructionResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity); + IfcConstructionResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionResourceType > list; }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. @@ -20596,35 +19758,25 @@ public: /// More specific relationships are introduced at the level of subtypes. class IfcContext : public IfcObjectDefinition { public: - /// Whether the optional attribute ObjectType is defined for this IfcContext - bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. - std::string ObjectType() const; - void setObjectType(std::string v); - /// Whether the optional attribute LongName is defined for this IfcContext - bool hasLongName() const; + boost::optional< std::string > ObjectType() const; + void ObjectType(boost::optional< std::string > v); /// Long name for the context as used for reference purposes. - std::string LongName() const; - void setLongName(std::string v); - /// Whether the optional attribute Phase is defined for this IfcContext - bool hasPhase() const; + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); /// Current project phase, or life-cycle phase of this project. Applicable values have to be agreed upon by view definitions or implementer agreements. - std::string Phase() const; - void setPhase(std::string v); - /// Whether the optional attribute RepresentationContexts is defined for this IfcContext - bool hasRepresentationContexts() const; + boost::optional< std::string > Phase() const; + void Phase(boost::optional< std::string > v); /// Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. - IfcTemplatedEntityList< IfcRepresentationContext >::ptr RepresentationContexts() const; - void setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); - /// Whether the optional attribute UnitsInContext is defined for this IfcContext - bool hasUnitsInContext() const; + boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > RepresentationContexts() const; + void RepresentationContexts(boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v); /// Units globally assigned to measure types used within the context. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. - IfcUnitAssignment* UnitsInContext() const; - void setUnitsInContext(IfcUnitAssignment* v); + boost::optional< IfcUnitAssignment* > UnitsInContext() const; + void UnitsInContext(boost::optional< IfcUnitAssignment* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY; } return IfcObjectDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcRepresentationContext; case 8: return Type::IfcUnitAssignment; } return IfcObjectDefinition::getArgumentEntity(i); } @@ -20636,7 +19788,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcContext (IfcAbstractEntity* e); - IfcContext (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcContext (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, boost::optional< IfcUnitAssignment* > v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcContext > list; }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: @@ -20653,7 +19805,7 @@ class IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v); + void PredefinedType(IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResourceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcCrewResourceTypeEnum; } return IfcConstructionResourceType::getArgumentEntity(i); } @@ -20663,7 +19815,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCrewResourceType (IfcAbstractEntity* e); - IfcCrewResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType); + IfcCrewResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcCrewResourceType > list; }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. @@ -20675,7 +19827,7 @@ class IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement3D; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20733,7 +19885,7 @@ class IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). IfcCsgSelect* TreeRootExpression() const; - void setTreeRootExpression(IfcCsgSelect* v); + void TreeRootExpression(IfcCsgSelect* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCsgSelect; } return IfcSolidModel::getArgumentEntity(i); } @@ -20787,13 +19939,13 @@ class IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. IfcPlane* BasisSurface() const; - void setBasisSurface(IfcPlane* v); + void BasisSurface(IfcPlane* v); /// The outer boundary of the surface. IfcCurve* OuterBoundary() const; - void setOuterBoundary(IfcCurve* v); + void OuterBoundary(IfcCurve* v); /// An optional set of inner boundaries. They shall not intersect each other or the outer boundary. IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; - void setInnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); + void InnerBoundaries(IfcTemplatedEntityList< IfcCurve >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcBoundedSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcPlane; case 1: return Type::IfcCurve; case 2: return Type::IfcCurve; } return IfcBoundedSurface::getArgumentEntity(i); } @@ -20831,12 +19983,12 @@ class IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. IfcSurface* BasisSurface() const; - void setBasisSurface(IfcSurface* v); + void BasisSurface(IfcSurface* v); /// The outer boundary of the surface. IfcTemplatedEntityList< IfcBoundaryCurve >::ptr Boundaries() const; - void setBoundaries(IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v); + void Boundaries(IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v); bool ImplicitOuter() const; - void setImplicitOuter(bool v); + void ImplicitOuter(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoundaryCurve; case 2: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } @@ -20860,7 +20012,7 @@ class IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) std::vector< double > /*[2:3]*/ DirectionRatios() const; - void setDirectionRatios(std::vector< double > /*[2:3]*/ v); + void DirectionRatios(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -20903,16 +20055,16 @@ class IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType() const; - void setOperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v); + void OperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v); /// Type defining the basic construction and material type of the door. IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum ConstructionType() const; - void setConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v); + void ConstructionType(IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v); /// The Boolean value reflects, whether the parameter given in the attached lining and panel properties exactly define the geometry (TRUE), or whether the attached style shape take precedence (FALSE). In the last case the parameter have only informative value. bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); + void ParameterTakesPrecedence(bool v); /// The Boolean indicates, whether the attached IfcMappedRepresentation (if given) can be sized (using scale factor of transformation), or not (FALSE). If not, the IfcMappedRepresentation should be IfcShapeRepresentation of the IfcDoor (using IfcMappedItem as the Item) with the scale factor = 1. bool Sizeable() const; - void setSizeable(bool v); + void Sizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDoorStyleOperationEnum; case 9: return Type::IfcDoorStyleConstructionEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } @@ -20922,7 +20074,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorStyle (IfcAbstractEntity* e); - IfcDoorStyle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); typedef IfcTemplatedEntityList< IfcDoorStyle > list; }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. @@ -20940,7 +20092,7 @@ class IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; - void setEdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); + void EdgeList(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcLoop::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcOrientedEdge; } return IfcLoop::getArgumentEntity(i); } @@ -21032,16 +20184,14 @@ public: /// attribute as published as part of the IFC specifciation. class IfcElementQuantity : public IfcQuantitySet { public: - /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity - bool hasMethodOfMeasurement() const; /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// /// IFC2x2 Addendum 1 change: The attribute has been changed to be optional - std::string MethodOfMeasurement() const; - void setMethodOfMeasurement(std::string v); + boost::optional< std::string > MethodOfMeasurement() const; + void MethodOfMeasurement(boost::optional< std::string > v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr Quantities() const; - void setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); + void Quantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcQuantitySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcPhysicalQuantity; } return IfcQuantitySet::getArgumentEntity(i); } @@ -21051,7 +20201,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementQuantity (IfcAbstractEntity* e); - IfcElementQuantity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); + IfcElementQuantity (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); typedef IfcTemplatedEntityList< IfcElementQuantity > list; }; /// Definition from IAI: The IfcElementType @@ -21078,11 +20228,9 @@ public: /// Release IFC2x Edition 2 class IfcElementType : public IfcTypeProduct { public: - /// Whether the optional attribute ElementType is defined for this IfcElementType - bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ElementType() const; - void setElementType(std::string v); + boost::optional< std::string > ElementType() const; + void ElementType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLabel; } return IfcTypeProduct::getArgumentEntity(i); } @@ -21092,7 +20240,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementType (IfcAbstractEntity* e); - IfcElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcElementType > list; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. @@ -21104,7 +20252,7 @@ class IfcElementarySurface : public IfcSurface { public: /// The position and orientation of the surface. This attribute is used in the definition of the parameterization of the surface. IfcAxis2Placement3D* Position() const; - void setPosition(IfcAxis2Placement3D* v); + void Position(IfcAxis2Placement3D* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement3D; } return IfcSurface::getArgumentEntity(i); } @@ -21137,10 +20285,10 @@ class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. double SemiAxis1() const; - void setSemiAxis1(double v); + void SemiAxis1(double v); /// The second radius of the ellipse. It is measured along the direction of Position.P[2]. double SemiAxis2() const; - void setSemiAxis2(double v); + void SemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -21150,7 +20298,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEllipseProfileDef (IfcAbstractEntity* e); - IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); + IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; }; /// An IfcEventType defines a particular type of event that may be specified. @@ -21164,18 +20312,16 @@ public: /// Identifies the predefined types of an event from which /// the type required may be set. IfcEventTypeEnum::IfcEventTypeEnum PredefinedType() const; - void setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v); + void PredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v); /// Identifies the predefined types of event trigger from which /// the type required may be set. IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum EventTriggerType() const; - void setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v); - /// Whether the optional attribute UserDefinedEventTriggerType is defined for this IfcEventType - bool hasUserDefinedEventTriggerType() const; + void EventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v); /// A user defined event trigger type, the value of which /// is asserted when the value of an event trigger type is /// declared as USERDEFINED. - std::string UserDefinedEventTriggerType() const; - void setUserDefinedEventTriggerType(std::string v); + boost::optional< std::string > UserDefinedEventTriggerType() const; + void UserDefinedEventTriggerType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_STRING; } return IfcTypeProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcEventTypeEnum; case 10: return Type::IfcEventTriggerTypeEnum; case 11: return Type::IfcLabel; } return IfcTypeProcess::getArgumentEntity(i); } @@ -21185,7 +20331,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEventType (IfcAbstractEntity* e); - IfcEventType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType); + IfcEventType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType); typedef IfcTemplatedEntityList< IfcEventType > list; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross @@ -21260,11 +20406,11 @@ class IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. IfcDirection* ExtrudedDirection() const; - void setExtrudedDirection(IfcDirection* v); + void ExtrudedDirection(IfcDirection* v); /// The distance the surface is to be swept along the ExtrudedDirection /// . double Depth() const; - void setDepth(double v); + void Depth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDirection; case 3: return Type::IfcPositiveLengthMeasure; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -21274,7 +20420,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtrudedAreaSolid (IfcAbstractEntity* e); - IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); + IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid > list; }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross @@ -21379,7 +20525,7 @@ class IfcExtrudedAreaSolidTapered : public IfcExtrudedAreaSolid { public: /// The surface defining the end of the swept area. It is given as a profile definition. The position coordinate system of the EndSwptArea is generated by translating the SELF\IfcSweptAreaSolid.Position along the SELF\IfcExtrudedAreaSolid.ExtrudedDirection by the distance of SELF\IfcExtrudedAreaSolid.Depth. IfcProfileDef* EndSweptArea() const; - void setEndSweptArea(IfcProfileDef* v); + void EndSweptArea(IfcProfileDef* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; } return IfcExtrudedAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProfileDef; } return IfcExtrudedAreaSolid::getArgumentEntity(i); } @@ -21389,7 +20535,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtrudedAreaSolidTapered (IfcAbstractEntity* e); - IfcExtrudedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth, IfcProfileDef* v5_EndSweptArea); + IfcExtrudedAreaSolidTapered (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth, IfcProfileDef* v5_EndSweptArea); typedef IfcTemplatedEntityList< IfcExtrudedAreaSolidTapered > list; }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. @@ -21408,7 +20554,7 @@ class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr FbsmFaces() const; - void setFbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v); + void FbsmFaces(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcConnectedFaceSet; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -21472,31 +20618,27 @@ class IfcFillAreaStyleHatching : public IfcGeometricRepresentationItem { public: /// The curve style of the hatching lines. Any curve style pattern shall start at the origin of each hatch line. IfcCurveStyle* HatchLineAppearance() const; - void setHatchLineAppearance(IfcCurveStyle* v); + void HatchLineAppearance(IfcCurveStyle* v); /// A repetition factor that determines the distance between adjacent hatch lines. /// /// IFC2x Edition 3 CHANGE  The attribute type of StartOfNextHatchLine has changed to a SELECT of IfcPositiveLengthMeasure (new) and IfcOneDirectionRepeatFactor. IfcHatchLineDistanceSelect* StartOfNextHatchLine() const; - void setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v); - /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching - bool hasPointOfReferenceHatchLine() const; + void StartOfNextHatchLine(IfcHatchLineDistanceSelect* v); /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// If not given the reference hatch lines goes through the origin of the (virtual) hatching coordinate system. /// /// IFC2x Edition 3 CHANGE  The usage of the attribute PointOfReferenceHatchLine has changed to not provide the Cartesian point which is the origin for mapping, but to provide an offset to the origin for the mapping. The attribute has been made OPTIONAL. - IfcCartesianPoint* PointOfReferenceHatchLine() const; - void setPointOfReferenceHatchLine(IfcCartesianPoint* v); - /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching - bool hasPatternStart() const; + boost::optional< IfcCartesianPoint* > PointOfReferenceHatchLine() const; + void PointOfReferenceHatchLine(boost::optional< IfcCartesianPoint* > v); /// A distance along the reference hatch line which is the start point for the curve style font pattern of the reference hatch line. /// If not given, the start point of the curve style font pattern is at the (virtual) hatching coordinate system. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute PatternStart has been made OPTIONAL. - IfcCartesianPoint* PatternStart() const; - void setPatternStart(IfcCartesianPoint* v); + boost::optional< IfcCartesianPoint* > PatternStart() const; + void PatternStart(boost::optional< IfcCartesianPoint* > v); /// A plane angle measure determining the direction of the parallel hatching lines. double HatchLineAngle() const; - void setHatchLineAngle(double v); + void HatchLineAngle(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurveStyle; case 1: return Type::IfcHatchLineDistanceSelect; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcCartesianPoint; case 4: return Type::IfcPlaneAngleMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -21506,7 +20648,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyleHatching (IfcAbstractEntity* e); - IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle); + IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, boost::optional< IfcCartesianPoint* > v3_PointOfReferenceHatchLine, boost::optional< IfcCartesianPoint* > v4_PatternStart, double v5_HatchLineAngle); typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching > list; }; /// Definition from ISO/CD 10303-46:1992: The fill area style tiles defines a two dimensional tile to be used for the filling of annotation fill areas or other closed regions. The content of a tile is defined by the tile set, and the placement of each tile determined by the filling pattern which indicates how to place tiles next to each other. Tiles or parts of tiles outside of the annotation fill area or closed region shall be clipped at the of the area or region. @@ -21518,13 +20660,13 @@ class IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. IfcTemplatedEntityList< IfcVector >::ptr TilingPattern() const; - void setTilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v); + void TilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v); /// A set of constituents of the tile. IfcTemplatedEntityList< IfcStyledItem >::ptr Tiles() const; - void setTiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v); + void Tiles(IfcTemplatedEntityList< IfcStyledItem >::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); + void TilingScale(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcVector; case 1: return Type::IfcStyledItem; case 2: return Type::IfcPositiveRatioMeasure; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } @@ -21599,20 +20741,16 @@ class IfcFixedReferenceSweptAreaSolid : public IfcSweptAreaSolid { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. IfcCurve* Directrix() const; - void setDirectrix(IfcCurve* v); - /// Whether the optional attribute StartParam is defined for this IfcFixedReferenceSweptAreaSolid - bool hasStartParam() const; + void Directrix(IfcCurve* v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix. - double StartParam() const; - void setStartParam(double v); - /// Whether the optional attribute EndParam is defined for this IfcFixedReferenceSweptAreaSolid - bool hasEndParam() const; + boost::optional< double > StartParam() const; + void StartParam(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix. - double EndParam() const; - void setEndParam(double v); + boost::optional< double > EndParam() const; + void EndParam(boost::optional< double > v); /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. IfcDirection* FixedReference() const; - void setFixedReference(IfcDirection* v); + void FixedReference(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_ENTITY; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::IfcDirection; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -21622,7 +20760,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFixedReferenceSweptAreaSolid (IfcAbstractEntity* e); - IfcFixedReferenceSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcDirection* v6_FixedReference); + IfcFixedReferenceSweptAreaSolid (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcDirection* v6_FixedReference); typedef IfcTemplatedEntityList< IfcFixedReferenceSweptAreaSolid > list; }; /// Definition from IAI: The @@ -21664,7 +20802,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElementType (IfcAbstractEntity* e); - IfcFurnishingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFurnishingElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFurnishingElementType > list; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: @@ -21708,11 +20846,9 @@ class IfcFurnitureType : public IfcFurnishingElementType { public: /// A designation of where the assembly is intended to take place. A selection of alternatives s provided in an enumerated list. IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; - void setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); - /// Whether the optional attribute PredefinedType is defined for this IfcFurnitureType - bool hasPredefinedType() const; - IfcFurnitureTypeEnum::IfcFurnitureTypeEnum PredefinedType() const; - void setPredefinedType(IfcFurnitureTypeEnum::IfcFurnitureTypeEnum v); + void AssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); + boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcFurnishingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAssemblyPlaceEnum; case 10: return Type::IfcFurnitureTypeEnum; } return IfcFurnishingElementType::getArgumentEntity(i); } @@ -21722,7 +20858,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnitureType (IfcAbstractEntity* e); - IfcFurnitureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType); + IfcFurnitureType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcFurnitureType > list; }; /// Definition from IAI: An @@ -21790,7 +20926,7 @@ class IfcGeographicElementType : public IfcElementType { public: /// Predefined types to define the particular type of the geographic element. There may be property set definitions available for each predefined type. IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v); + void PredefinedType(IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcGeographicElementTypeEnum; } return IfcElementType::getArgumentEntity(i); } @@ -21800,7 +20936,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeographicElementType (IfcAbstractEntity* e); - IfcGeographicElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType); + IfcGeographicElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcGeographicElementType > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. @@ -21891,29 +21027,23 @@ class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. double OverallWidth() const; - void setOverallWidth(double v); + void OverallWidth(double v); /// Total extent of the depth, defined parallel to the y axis of the position coordinate system. double OverallDepth() const; - void setOverallDepth(double v); + void OverallDepth(double v); /// Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system. double WebThickness() const; - void setWebThickness(double v); + void WebThickness(double v); /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. double FlangeThickness() const; - void setFlangeThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef - bool hasFilletRadius() const; + void FlangeThickness(double v); /// The fillet between the web and the flange. - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcIShapeProfileDef - bool hasFlangeEdgeRadius() const; - double FlangeEdgeRadius() const; - void setFlangeEdgeRadius(double v); - /// Whether the optional attribute FlangeSlope is defined for this IfcIShapeProfileDef - bool hasFlangeSlope() const; - double FlangeSlope() const; - void setFlangeSlope(double v); + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); + boost::optional< double > FlangeEdgeRadius() const; + void FlangeEdgeRadius(boost::optional< double > v); + boost::optional< double > FlangeSlope() const; + void FlangeSlope(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcNonNegativeLengthMeasure; case 9: return Type::IfcPlaneAngleMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -21923,7 +21053,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIShapeProfileDef (IfcAbstractEntity* e); - IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope); + IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope); typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; }; /// IfcLShapeProfileDef @@ -21981,30 +21111,22 @@ class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. double Depth() const; - void setDepth(double v); - /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef - bool hasWidth() const; + void Depth(double v); /// Leg length, see illustration above (= b). Same as the overall width. - double Width() const; - void setWidth(double v); + boost::optional< double > Width() const; + void Width(boost::optional< double > v); /// Constant wall thickness of profile, see illustration above (= ts). double Thickness() const; - void setThickness(double v); - /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef - bool hasFilletRadius() const; + void Thickness(double v); /// Fillet radius according the above illustration (= r1). - double FilletRadius() const; - void setFilletRadius(double v); - /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef - bool hasEdgeRadius() const; + boost::optional< double > FilletRadius() const; + void FilletRadius(boost::optional< double > v); /// Edge radius according the above illustration (= r2). - double EdgeRadius() const; - void setEdgeRadius(double v); - /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef - bool hasLegSlope() const; + boost::optional< double > EdgeRadius() const; + void EdgeRadius(boost::optional< double > v); /// Slope of the inner face of each leg of the profile. - double LegSlope() const; - void setLegSlope(double v); + boost::optional< double > LegSlope() const; + void LegSlope(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveLengthMeasure; case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcNonNegativeLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcPlaneAngleMeasure; } return IfcParameterizedProfileDef::getArgumentEntity(i); } @@ -22014,7 +21136,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLShapeProfileDef (IfcAbstractEntity* e); - IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope); + IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope); typedef IfcTemplatedEntityList< IfcLShapeProfileDef > list; }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: @@ -22032,7 +21154,7 @@ class IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v); + void PredefinedType(IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResourceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcLaborResourceTypeEnum; } return IfcConstructionResourceType::getArgumentEntity(i); } @@ -22042,7 +21164,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLaborResourceType (IfcAbstractEntity* e); - IfcLaborResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType); + IfcLaborResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcLaborResourceType > list; }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: @@ -22062,10 +21184,10 @@ class IfcLine : public IfcCurve { public: /// The location of the line. IfcCartesianPoint* Pnt() const; - void setPnt(IfcCartesianPoint* v); + void Pnt(IfcCartesianPoint* v); /// The direction of the line, the magnitude and units of Dir affect the parameterization of the line. IfcVector* Dir() const; - void setDir(IfcVector* v); + void Dir(IfcVector* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; case 1: return Type::IfcVector; } return IfcCurve::getArgumentEntity(i); } @@ -22145,7 +21267,7 @@ class IfcManifoldSolidBrep : public IfcSolidModel { public: /// A closed shell defining the exterior boundary of the solid. The shell normal shall point away from the interior of the solid. IfcClosedShell* Outer() const; - void setOuter(IfcClosedShell* v); + void Outer(IfcClosedShell* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcClosedShell; } return IfcSolidModel::getArgumentEntity(i); } @@ -22242,11 +21364,9 @@ public: /// IsDecomposedBy, or Decomposes is exerted. class IfcObject : public IfcObjectDefinition { public: - /// Whether the optional attribute ObjectType is defined for this IfcObject - bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - std::string ObjectType() const; - void setObjectType(std::string v); + boost::optional< std::string > ObjectType() const; + void ObjectType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; } return IfcObjectDefinition::getArgumentEntity(i); } @@ -22260,7 +21380,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObject (IfcAbstractEntity* e); - IfcObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); + IfcObject (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcObject > list; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature. @@ -22278,13 +21398,13 @@ class IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) double Distance() const; - void setDistance(double v); + void Distance(double v); /// An indication of whether the offset curve self-intersects; this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; } return IfcCurve::getArgumentEntity(i); } @@ -22316,16 +21436,16 @@ class IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. double Distance() const; - void setDistance(double v); + void Distance(double v); /// An indication of whether the offset curve self-intersects, this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); /// The direction used to define the direction of the offset curve 3d from the basis curve. IfcDirection* RefDirection() const; - void setRefDirection(IfcDirection* v); + void RefDirection(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; case 3: return Type::IfcDirection; } return IfcCurve::getArgumentEntity(i); } @@ -22342,9 +21462,9 @@ public: class IfcPcurve : public IfcCurve { public: IfcSurface* BasisSurface() const; - void setBasisSurface(IfcSurface* v); + void BasisSurface(IfcSurface* v); IfcCurve* ReferenceCurve() const; - void setReferenceCurve(IfcCurve* v); + void ReferenceCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcCurve; } return IfcCurve::getArgumentEntity(i); } @@ -22368,7 +21488,7 @@ public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. IfcAxis2Placement* Placement() const; - void setPlacement(IfcAxis2Placement* v); + void Placement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis2Placement; } return IfcPlanarExtent::getArgumentEntity(i); } @@ -22502,7 +21622,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedPropertySet (IfcAbstractEntity* e); - IfcPreDefinedPropertySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcPreDefinedPropertySet (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPreDefinedPropertySet > list; }; /// An IfcProcedureType defines a particular type of procedure that may be specified. @@ -22523,7 +21643,7 @@ public: /// Identifies the predefined types of a procedure from which /// the type required may be set. IfcProcedureTypeEnum::IfcProcedureTypeEnum PredefinedType() const; - void setPredefinedType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); + void PredefinedType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcTypeProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcProcedureTypeEnum; } return IfcTypeProcess::getArgumentEntity(i); } @@ -22533,7 +21653,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcedureType (IfcAbstractEntity* e); - IfcProcedureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType); + IfcProcedureType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProcedureType > list; }; /// Definition from ISO9000: A process is a set of @@ -22578,21 +21698,17 @@ public: /// as a mechanism to a process, such as labor, material and equipment in cost calculations. class IfcProcess : public IfcObject { public: - /// Whether the optional attribute Identification is defined for this IfcProcess - bool hasIdentification() const; /// An identifying designation given to a process or activity. /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute promoted from subtypes. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcProcess - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// An extended description or narrative that may be provided. /// /// IFC2x4 CHANGE  New attribute. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcText; } return IfcObject::getArgumentEntity(i); } @@ -22605,7 +21721,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcess (IfcAbstractEntity* e); - IfcProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription); + IfcProcess (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription); typedef IfcTemplatedEntityList< IfcProcess > list; }; /// Any object that relates to a @@ -22701,16 +21817,12 @@ public: /// underlying geometry of the topological items). class IfcProduct : public IfcObject { public: - /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct - bool hasObjectPlacement() const; /// Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system. - IfcObjectPlacement* ObjectPlacement() const; - void setObjectPlacement(IfcObjectPlacement* v); - /// Whether the optional attribute Representation is defined for this IfcProduct - bool hasRepresentation() const; + boost::optional< IfcObjectPlacement* > ObjectPlacement() const; + void ObjectPlacement(boost::optional< IfcObjectPlacement* > v); /// Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement. - IfcProductRepresentation* Representation() const; - void setRepresentation(IfcProductRepresentation* v); + boost::optional< IfcProductRepresentation* > Representation() const; + void Representation(boost::optional< IfcProductRepresentation* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcObjectPlacement; case 6: return Type::IfcProductRepresentation; } return IfcObject::getArgumentEntity(i); } @@ -22721,7 +21833,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProduct (IfcAbstractEntity* e); - IfcProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcProduct (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or @@ -22779,7 +21891,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProject (IfcAbstractEntity* e); - IfcProject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcProject (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, boost::optional< IfcUnitAssignment* > v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcProject > list; }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. @@ -22817,7 +21929,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectLibrary (IfcAbstractEntity* e); - IfcProjectLibrary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcProjectLibrary (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, boost::optional< IfcUnitAssignment* > v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcProjectLibrary > list; }; /// A property with a bounded @@ -22926,28 +22038,20 @@ public: /// UpperBoundValue > LowerBoundValue. class IfcPropertyBoundedValue : public IfcSimpleProperty { public: - /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue - bool hasUpperBoundValue() const; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). - IfcValue* UpperBoundValue() const; - void setUpperBoundValue(IfcValue* v); - /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue - bool hasLowerBoundValue() const; + boost::optional< IfcValue* > UpperBoundValue() const; + void UpperBoundValue(boost::optional< IfcValue* > v); /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). - IfcValue* LowerBoundValue() const; - void setLowerBoundValue(IfcValue* v); - /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue - bool hasUnit() const; + boost::optional< IfcValue* > LowerBoundValue() const; + void LowerBoundValue(boost::optional< IfcValue* > v); /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); - /// Whether the optional attribute SetPointValue is defined for this IfcPropertyBoundedValue - bool hasSetPointValue() const; + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); /// Set point value as typically used for operational value setting. /// /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. - IfcValue* SetPointValue() const; - void setSetPointValue(IfcValue* v); + boost::optional< IfcValue* > SetPointValue() const; + void SetPointValue(boost::optional< IfcValue* > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcValue; case 4: return Type::IfcUnit; case 5: return Type::IfcValue; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -22957,7 +22061,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyBoundedValue (IfcAbstractEntity* e); - IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit, IfcValue* v6_SetPointValue); + IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_UpperBoundValue, boost::optional< IfcValue* > v4_LowerBoundValue, boost::optional< IfcUnit* > v5_Unit, boost::optional< IfcValue* > v6_SetPointValue); typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; }; /// A property with an enumerated @@ -23039,18 +22143,14 @@ public: /// compatibility for file based exchange. class IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: - /// Whether the optional attribute EnumerationValues is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationValues() const; /// 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. - IfcEntityList::ptr EnumerationValues() const; - void setEnumerationValues(IfcEntityList::ptr v); - /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationReference() const; + boost::optional< IfcEntityList::ptr > EnumerationValues() const; + void EnumerationValues(boost::optional< IfcEntityList::ptr > v); /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. - IfcPropertyEnumeration* EnumerationReference() const; - void setEnumerationReference(IfcPropertyEnumeration* v); + boost::optional< IfcPropertyEnumeration* > EnumerationReference() const; + void EnumerationReference(boost::optional< IfcPropertyEnumeration* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcPropertyEnumeration; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -23060,7 +22160,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeratedValue (IfcAbstractEntity* e); - IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, boost::optional< IfcPropertyEnumeration* > v4_EnumerationReference); typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -23130,18 +22230,14 @@ public: /// IFC2x4 CHANGE  Attribute ListValues has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertyListValue : public IfcSimpleProperty { public: - /// Whether the optional attribute ListValues is defined for this IfcPropertyListValue - bool hasListValues() const; /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcEntityList::ptr ListValues() const; - void setListValues(IfcEntityList::ptr v); - /// Whether the optional attribute Unit is defined for this IfcPropertyListValue - bool hasUnit() const; + boost::optional< IfcEntityList::ptr > ListValues() const; + void ListValues(boost::optional< IfcEntityList::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. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcUnit; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -23151,7 +22247,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyListValue (IfcAbstractEntity* e); - IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, IfcUnit* v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, boost::optional< IfcUnit* > v4_Unit); typedef IfcTemplatedEntityList< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -23171,18 +22267,14 @@ public: /// compatibility for file based exchange. class IfcPropertyReferenceValue : public IfcSimpleProperty { public: - /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue - bool hasUsageName() const; /// Description of the use of the referenced value within the property. - std::string UsageName() const; - void setUsageName(std::string v); - /// Whether the optional attribute PropertyReference is defined for this IfcPropertyReferenceValue - bool hasPropertyReference() const; + boost::optional< std::string > UsageName() const; + void UsageName(boost::optional< std::string > v); /// Reference to another property entity through one of the select types in the IfcObjectReferenceSelect. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcObjectReferenceSelect* PropertyReference() const; - void setPropertyReference(IfcObjectReferenceSelect* v); + boost::optional< IfcObjectReferenceSelect* > PropertyReference() const; + void PropertyReference(boost::optional< IfcObjectReferenceSelect* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcText; case 3: return Type::IfcObjectReferenceSelect; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -23192,7 +22284,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyReferenceValue (IfcAbstractEntity* e); - IfcPropertyReferenceValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, IfcObjectReferenceSelect* v4_PropertyReference); + IfcPropertyReferenceValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, boost::optional< IfcObjectReferenceSelect* > v4_PropertyReference); typedef IfcTemplatedEntityList< IfcPropertyReferenceValue > list; }; /// IfcPropertySet defines all dynamically extensible @@ -23252,7 +22344,7 @@ class IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; - void setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + void HasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertySetDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProperty; } return IfcPropertySetDefinition::getArgumentEntity(i); } @@ -23262,7 +22354,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySet (IfcAbstractEntity* e); - IfcPropertySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); + IfcPropertySet (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); typedef IfcTemplatedEntityList< IfcPropertySet > list; }; /// IfcPropertySetTemplate defines the template for all @@ -23298,14 +22390,10 @@ public: /// Figure 5 — Property set template relationships class IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: - /// Whether the optional attribute TemplateType is defined for this IfcPropertySetTemplate - bool hasTemplateType() const; /// Property set type defining whether the property set is applicable to a type (subtypes of IfcTypeObject), to an occurrence (subtypes of IfcObject), or as a special case to a performance history. /// The attribute ApplicableEntity may further refine the applicability to a single or multiple entity type(s). - IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum TemplateType() const; - void setTemplateType(IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum v); - /// Whether the optional attribute ApplicableEntity is defined for this IfcPropertySetTemplate - bool hasApplicableEntity() const; + boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > TemplateType() const; + void TemplateType(boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v); /// The attribute optionally defines the data type of the applicable type or occurrence object, to which the assigned property set template can relate. If not present, no instruction is given to which type or occurrence object the property set template is applicable. The following conventions are used: /// /// The IFC entity name of the applicable entity using the IFC naming convention, CamelCase with IFC prefix @@ -23316,11 +22404,11 @@ public: /// EXAMPLE Refering to a boiler type as applicable entity would be expressed as 'IfcBoilerType', refering to a steam boiler type as applicable entity would be expressed as 'IfcBoilerType/STEAM', refering to a wall and wall standard case and a wall type would be expressed as 'IfcWall, IfcWallStandardCase, IfcWallType'. /// /// An applicable IfcPerformanceHistory assigned to an occurrence or type object would be indicated by IfcBoilerType[PerformanceHistory], or respectively IfcBoilerType/STEAM[PerformanceHistory]. - std::string ApplicableEntity() const; - void setApplicableEntity(std::string v); + boost::optional< std::string > ApplicableEntity() const; + void ApplicableEntity(boost::optional< std::string > v); /// Set of IfcPropertyTemplate's that are defined within the scope of the IfcPropertySetTemplate. IfcTemplatedEntityList< IfcPropertyTemplate >::ptr HasPropertyTemplates() const; - void setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v); + void HasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertyTemplateDefinition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPropertySetTemplateTypeEnum; case 5: return Type::IfcIdentifier; case 6: return Type::IfcPropertyTemplate; } return IfcPropertyTemplateDefinition::getArgumentEntity(i); } @@ -23331,7 +22419,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySetTemplate (IfcAbstractEntity* e); - IfcPropertySetTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates); + IfcPropertySetTemplate (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates); typedef IfcTemplatedEntityList< IfcPropertySetTemplate > list; }; /// The property with a single value @@ -23380,20 +22468,16 @@ public: /// IFC2x3 CHANGE ÿAttribute NominalValue has been made OPTIONAL with upward compatibility for file based exchange. class IfcPropertySingleValue : public IfcSimpleProperty { public: - /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue - bool hasNominalValue() const; /// Value and measure type of this property. /// /// NOTE  By virtue of the defined data type, that is selected from the SELECT IfcValue, the appropriate unit can be found within the IfcUnitAssignment, defined for the project if no value for the unit attribute is given. /// /// IFC2x3 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcValue* NominalValue() const; - void setNominalValue(IfcValue* v); - /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue - bool hasUnit() const; + boost::optional< IfcValue* > NominalValue() const; + void NominalValue(boost::optional< IfcValue* > v); /// Unit for the nominal value, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit* Unit() const; - void setUnit(IfcUnit* v); + boost::optional< IfcUnit* > Unit() const; + void Unit(boost::optional< IfcUnit* > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcUnit; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -23403,7 +22487,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySingleValue (IfcAbstractEntity* e); - IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit); + IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcValue* > v3_NominalValue, boost::optional< IfcUnit* > v4_Unit); typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; }; /// A property with a range value @@ -23554,42 +22638,30 @@ public: /// DefiningValues are corresponding lists. class IfcPropertyTableValue : public IfcSimpleProperty { public: - /// Whether the optional attribute DefiningValues is defined for this IfcPropertyTableValue - bool hasDefiningValues() const; /// 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. - IfcEntityList::ptr DefiningValues() const; - void setDefiningValues(IfcEntityList::ptr v); - /// Whether the optional attribute DefinedValues is defined for this IfcPropertyTableValue - bool hasDefinedValues() const; + boost::optional< IfcEntityList::ptr > DefiningValues() const; + void DefiningValues(boost::optional< IfcEntityList::ptr > v); /// Defined values which are applicable for the scope as defined by the defining values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcEntityList::ptr DefinedValues() const; - void setDefinedValues(IfcEntityList::ptr v); - /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue - bool hasExpression() const; + boost::optional< IfcEntityList::ptr > DefinedValues() const; + void DefinedValues(boost::optional< IfcEntityList::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. - std::string Expression() const; - void setExpression(std::string v); - /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue - bool hasDefiningUnit() const; + boost::optional< std::string > Expression() const; + void Expression(boost::optional< std::string > v); /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. - IfcUnit* DefiningUnit() const; - void setDefiningUnit(IfcUnit* v); - /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue - bool hasDefinedUnit() const; + boost::optional< IfcUnit* > DefiningUnit() const; + void DefiningUnit(boost::optional< IfcUnit* > v); /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. - IfcUnit* DefinedUnit() const; - void setDefinedUnit(IfcUnit* v); - /// Whether the optional attribute CurveInterpolation is defined for this IfcPropertyTableValue - bool hasCurveInterpolation() const; + boost::optional< IfcUnit* > DefinedUnit() const; + void DefinedUnit(boost::optional< IfcUnit* > v); /// Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed. /// /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. - IfcCurveInterpolationEnum::IfcCurveInterpolationEnum CurveInterpolation() const; - void setCurveInterpolation(IfcCurveInterpolationEnum::IfcCurveInterpolationEnum v); + boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > CurveInterpolation() const; + void CurveInterpolation(boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENUMERATION; } return IfcSimpleProperty::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcValue; case 3: return Type::IfcValue; case 4: return Type::IfcText; case 5: return Type::IfcUnit; case 6: return Type::IfcUnit; case 7: return Type::IfcCurveInterpolationEnum; } return IfcSimpleProperty::getArgumentEntity(i); } @@ -23599,7 +22671,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTableValue (IfcAbstractEntity* e); - IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, boost::optional< IfcUnit* > v6_DefiningUnit, boost::optional< IfcUnit* > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation); typedef IfcTemplatedEntityList< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -23639,7 +22711,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTemplate (IfcAbstractEntity* e); - IfcPropertyTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcPropertyTemplate (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyTemplate > list; }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. @@ -23662,12 +22734,10 @@ class IfcProxy : public IfcProduct { public: /// High level (and only) semantic meaning attached to the IfcProxy, defining the basic construct type behind the Proxy, e.g. Product or Process. IfcObjectTypeEnum::IfcObjectTypeEnum ProxyType() const; - void setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v); - /// Whether the optional attribute Tag is defined for this IfcProxy - bool hasTag() const; + void ProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v); /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void Tag(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcObjectTypeEnum; case 8: return Type::IfcLabel; } return IfcProduct::getArgumentEntity(i); } @@ -23677,7 +22747,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProxy (IfcAbstractEntity* e); - IfcProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag); + IfcProxy (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag); typedef IfcTemplatedEntityList< IfcProxy > list; }; /// IfcRectangleHollowProfileDef defines a section profile that provides the defining parameters of a rectangular (or square) hollow section to be used by the swept surface geometry or the swept area solid. Its parameters and orientation relative to the position coordinate system are according to the following illustration. A square hollow section can be defined by equal values for h and b. The centre of the position coordinate system is in the profiles centre of the bounding box (for symmetric profiles identical with the centre of gravity). Normally, the longer sides are parallel to the y-axis, the shorter sides parallel to the x-axis. @@ -23704,17 +22774,13 @@ class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. double WallThickness() const; - void setWallThickness(double v); - /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasInnerFilletRadius() const; + void WallThickness(double v); /// Inner corner radius. - double InnerFilletRadius() const; - void setInnerFilletRadius(double v); - /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasOuterFilletRadius() const; + boost::optional< double > InnerFilletRadius() const; + void InnerFilletRadius(boost::optional< double > v); /// Outer corner radius. - double OuterFilletRadius() const; - void setOuterFilletRadius(double v); + boost::optional< double > OuterFilletRadius() const; + void OuterFilletRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcPositiveLengthMeasure; case 6: return Type::IfcNonNegativeLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; } return IfcRectangleProfileDef::getArgumentEntity(i); } @@ -23724,7 +22790,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangleHollowProfileDef (IfcAbstractEntity* e); - IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius); typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef > list; }; /// The IfcRectangularPyramid is a Construction Solid @@ -23819,13 +22885,13 @@ class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; - void setXLength(double v); + void XLength(double v); /// The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. double YLength() const; - void setYLength(double v); + void YLength(double v); /// The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\IfcCsgPrimitive3D.Position.P[2]. double Height() const; - void setHeight(double v); + void Height(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -23857,25 +22923,25 @@ class IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. IfcSurface* BasisSurface() const; - void setBasisSurface(IfcSurface* v); + void BasisSurface(IfcSurface* v); /// First u parametric value. double U1() const; - void setU1(double v); + void U1(double v); /// First v parametric value. double V1() const; - void setV1(double v); + void V1(double v); /// Second u parametric value. double U2() const; - void setU2(double v); + void U2(double v); /// Second v parametric value. double V2() const; - void setV2(double v); + void V2(double v); /// Flag to indicate whether the direction of the first parameter of the trimmed surface agrees with or opposes the sense of u in the basis surface. bool Usense() const; - void setUsense(bool v); + void Usense(bool v); /// Flag to indicate whether the direction of the second parameter of the trimmed surface agrees with or opposes the sense of v in the basis surface. bool Vsense() const; - void setVsense(bool v); + void Vsense(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } @@ -23916,14 +22982,12 @@ public: /// bar type. class IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties - bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - std::string DefinitionType() const; - void setDefinitionType(std::string v); + boost::optional< std::string > DefinitionType() const; + void DefinitionType(boost::optional< std::string > v); /// The list of section reinforcement properties attached to the reinforcement definition properties. IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; - void setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v); + void ReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcSectionReinforcementProperties; } return IfcPreDefinedPropertySet::getArgumentEntity(i); } @@ -23933,7 +22997,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcementDefinitionProperties (IfcAbstractEntity* e); - IfcReinforcementDefinitionProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > list; }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. @@ -23951,13 +23015,11 @@ class IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); - /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns - bool hasRelatedObjectsType() const; + void RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects. /// IFC2x4 CHANGE  The attribute is deprecated and shall no longer be used. A NIL value should always be assigned. - IfcObjectTypeEnum::IfcObjectTypeEnum RelatedObjectsType() const; - void setRelatedObjectsType(IfcObjectTypeEnum::IfcObjectTypeEnum v); + boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > RelatedObjectsType() const; + void RelatedObjectsType(boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENUMERATION; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObjectDefinition; case 5: return Type::IfcObjectTypeEnum; } return IfcRelationship::getArgumentEntity(i); } @@ -23967,7 +23029,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssigns (IfcAbstractEntity* e); - IfcRelAssigns (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); + IfcRelAssigns (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); typedef IfcTemplatedEntityList< IfcRelAssigns > list; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). @@ -23983,12 +23045,10 @@ class IfcRelAssignsToActor : public IfcRelAssigns { public: /// Reference to the information about the actor. It comprises the information about the person or organization and its addresses. IfcActor* RelatingActor() const; - void setRelatingActor(IfcActor* v); - /// Whether the optional attribute ActingRole is defined for this IfcRelAssignsToActor - bool hasActingRole() const; + void RelatingActor(IfcActor* v); /// Role of the actor played within the context of the assignment to the object(s). - IfcActorRole* ActingRole() const; - void setActingRole(IfcActorRole* v); + boost::optional< IfcActorRole* > ActingRole() const; + void ActingRole(boost::optional< IfcActorRole* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcActor; case 7: return Type::IfcActorRole; } return IfcRelAssigns::getArgumentEntity(i); } @@ -23998,7 +23058,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToActor (IfcAbstractEntity* e); - IfcRelAssignsToActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + IfcRelAssignsToActor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, boost::optional< IfcActorRole* > v8_ActingRole); typedef IfcTemplatedEntityList< IfcRelAssignsToActor > list; }; /// The objectified relationship IfcRelAssignsToControl handles the assignment of a control (represented by subtypes of IfcControl) to other objects (represented by subtypes of IfcObject, with the exception of controls). @@ -24010,7 +23070,7 @@ class IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. IfcControl* RelatingControl() const; - void setRelatingControl(IfcControl* v); + void RelatingControl(IfcControl* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcControl; } return IfcRelAssigns::getArgumentEntity(i); } @@ -24020,7 +23080,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToControl (IfcAbstractEntity* e); - IfcRelAssignsToControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + IfcRelAssignsToControl (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); typedef IfcTemplatedEntityList< IfcRelAssignsToControl > list; }; /// The objectified relationship IfcRelAssignsToGroup handles the assignment of object definitions (individual object occurrences as subtypes of IfcObject, and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). @@ -24040,7 +23100,7 @@ class IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. IfcGroup* RelatingGroup() const; - void setRelatingGroup(IfcGroup* v); + void RelatingGroup(IfcGroup* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcGroup; } return IfcRelAssigns::getArgumentEntity(i); } @@ -24050,7 +23110,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToGroup (IfcAbstractEntity* e); - IfcRelAssignsToGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); + IfcRelAssignsToGroup (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); typedef IfcTemplatedEntityList< IfcRelAssignsToGroup > list; }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to the assignment of object definitions (individual object occurrences as subtypes of IfcObject and object types as subtypes of IfcTypeObject) to a group (subtypes of IfcGroup). @@ -24066,7 +23126,7 @@ class IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. double Factor() const; - void setFactor(double v); + void Factor(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcRelAssignsToGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcRatioMeasure; } return IfcRelAssignsToGroup::getArgumentEntity(i); } @@ -24076,7 +23136,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToGroupByFactor (IfcAbstractEntity* e); - IfcRelAssignsToGroupByFactor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, double v8_Factor); + IfcRelAssignsToGroupByFactor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, double v8_Factor); typedef IfcTemplatedEntityList< IfcRelAssignsToGroupByFactor > list; }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. @@ -24107,12 +23167,10 @@ public: /// /// IFC2x4 CHANGE Datatype expanded to include IfcProcess and IfcTypeProcess. IfcProcessSelect* RelatingProcess() const; - void setRelatingProcess(IfcProcessSelect* v); - /// Whether the optional attribute QuantityInProcess is defined for this IfcRelAssignsToProcess - bool hasQuantityInProcess() const; + void RelatingProcess(IfcProcessSelect* v); /// Quantity of the object specific for the operation by this process. - IfcMeasureWithUnit* QuantityInProcess() const; - void setQuantityInProcess(IfcMeasureWithUnit* v); + boost::optional< IfcMeasureWithUnit* > QuantityInProcess() const; + void QuantityInProcess(boost::optional< IfcMeasureWithUnit* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcProcessSelect; case 7: return Type::IfcMeasureWithUnit; } return IfcRelAssigns::getArgumentEntity(i); } @@ -24122,7 +23180,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProcess (IfcAbstractEntity* e); - IfcRelAssignsToProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); + IfcRelAssignsToProcess (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect* v7_RelatingProcess, boost::optional< IfcMeasureWithUnit* > v8_QuantityInProcess); typedef IfcTemplatedEntityList< IfcRelAssignsToProcess > list; }; /// The objectified relationshipÿIfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed: @@ -24139,7 +23197,7 @@ public: /// /// IFC2x4 CHANGE Datatype expanded to include IfcProduct and IfcTypeProduct. IfcProductSelect* RelatingProduct() const; - void setRelatingProduct(IfcProductSelect* v); + void RelatingProduct(IfcProductSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcProductSelect; } return IfcRelAssigns::getArgumentEntity(i); } @@ -24149,7 +23207,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProduct (IfcAbstractEntity* e); - IfcRelAssignsToProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect* v7_RelatingProduct); + IfcRelAssignsToProduct (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect* v7_RelatingProduct); typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects @@ -24164,7 +23222,7 @@ public: /// /// IFC2x4 CHANGE Datatype expanded to include IfcResource and IfcTypeResource. IfcResourceSelect* RelatingResource() const; - void setRelatingResource(IfcResourceSelect* v); + void RelatingResource(IfcResourceSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcResourceSelect; } return IfcRelAssigns::getArgumentEntity(i); } @@ -24174,7 +23232,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToResource (IfcAbstractEntity* e); - IfcRelAssignsToResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect* v7_RelatingResource); + IfcRelAssignsToResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect* v7_RelatingResource); typedef IfcTemplatedEntityList< IfcRelAssignsToResource > list; }; /// The association relationship @@ -24224,7 +23282,7 @@ public: /// /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. IfcEntityList::ptr RelatedObjects() const; - void setRelatedObjects(IfcEntityList::ptr v); + void RelatedObjects(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDefinitionSelect; } return IfcRelationship::getArgumentEntity(i); } @@ -24234,7 +23292,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociates (IfcAbstractEntity* e); - IfcRelAssociates (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -24244,7 +23302,7 @@ class IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. IfcApproval* RelatingApproval() const; - void setRelatingApproval(IfcApproval* v); + void RelatingApproval(IfcApproval* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcApproval; } return IfcRelAssociates::getArgumentEntity(i); } @@ -24254,7 +23312,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesApproval (IfcAbstractEntity* e); - IfcRelAssociatesApproval (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); typedef IfcTemplatedEntityList< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -24291,7 +23349,7 @@ class IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. IfcClassificationSelect* RelatingClassification() const; - void setRelatingClassification(IfcClassificationSelect* v); + void RelatingClassification(IfcClassificationSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcClassificationSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -24301,7 +23359,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesClassification (IfcAbstractEntity* e); - IfcRelAssociatesClassification (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect* v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect* v6_RelatingClassification); typedef IfcTemplatedEntityList< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -24309,14 +23367,12 @@ public: /// HISTORY: New entity in IFC2x2. class IfcRelAssociatesConstraint : public IfcRelAssociates { public: - /// Whether the optional attribute Intent is defined for this IfcRelAssociatesConstraint - bool hasIntent() const; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. - std::string Intent() const; - void setIntent(std::string v); + boost::optional< std::string > Intent() const; + void Intent(boost::optional< std::string > v); /// Reference to constraint that is being applied using this relationship. IfcConstraint* RelatingConstraint() const; - void setRelatingConstraint(IfcConstraint* v); + void RelatingConstraint(IfcConstraint* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLabel; case 6: return Type::IfcConstraint; } return IfcRelAssociates::getArgumentEntity(i); } @@ -24326,7 +23382,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesConstraint (IfcAbstractEntity* e); - IfcRelAssociatesConstraint (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, IfcConstraint* v7_RelatingConstraint); typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint > list; }; /// The objectified relationship (IfcRelAssociatesDocument) handles the assignment of a document information (items of the select IfcDocumentSelect) to objects occurrences (subtypes of IfcObject) or object types (subtypes of IfcTypeObject). @@ -24340,7 +23396,7 @@ class IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. IfcDocumentSelect* RelatingDocument() const; - void setRelatingDocument(IfcDocumentSelect* v); + void RelatingDocument(IfcDocumentSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcDocumentSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -24350,7 +23406,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesDocument (IfcAbstractEntity* e); - IfcRelAssociatesDocument (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument); typedef IfcTemplatedEntityList< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -24364,7 +23420,7 @@ class IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. IfcLibrarySelect* RelatingLibrary() const; - void setRelatingLibrary(IfcLibrarySelect* v); + void RelatingLibrary(IfcLibrarySelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLibrarySelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -24374,7 +23430,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesLibrary (IfcAbstractEntity* e); - IfcRelAssociatesLibrary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary); typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -24475,7 +23531,7 @@ class IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. IfcMaterialSelect* RelatingMaterial() const; - void setRelatingMaterial(IfcMaterialSelect* v); + void RelatingMaterial(IfcMaterialSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcMaterialSelect; } return IfcRelAssociates::getArgumentEntity(i); } @@ -24485,7 +23541,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesMaterial (IfcAbstractEntity* e); - IfcRelAssociatesMaterial (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial); typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial > list; }; /// IfcRelConnects is a connectivity relationship that connects objects under some criteria. As a general connectivity it does not imply constraints, however subtypes of the relationship define the applicable object types for the connectivity relationship and the semantics of the particular connectivity. @@ -24502,7 +23558,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnects (IfcAbstractEntity* e); - IfcRelConnects (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcRelConnects (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelConnects > list; }; /// Definition from IAI: The @@ -24529,17 +23585,15 @@ public: /// Release 1.0. class IfcRelConnectsElements : public IfcRelConnects { public: - /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements - bool hasConnectionGeometry() const; /// The geometric shape representation of the connection geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). - IfcConnectionGeometry* ConnectionGeometry() const; - void setConnectionGeometry(IfcConnectionGeometry* v); + boost::optional< IfcConnectionGeometry* > ConnectionGeometry() const; + void ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatingElement. IfcElement* RelatingElement() const; - void setRelatingElement(IfcElement* v); + void RelatingElement(IfcElement* v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatedElement. IfcElement* RelatedElement() const; - void setRelatedElement(IfcElement* v); + void RelatedElement(IfcElement* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcConnectionGeometry; case 5: return Type::IfcElement; case 6: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -24549,7 +23603,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsElements (IfcAbstractEntity* e); - IfcRelConnectsElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); + IfcRelConnectsElements (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; }; /// The @@ -24588,16 +23642,16 @@ class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. std::vector< double > /*[0:?]*/ RelatingPriorities() const; - void setRelatingPriorities(std::vector< double > /*[0:?]*/ v); + void RelatingPriorities(std::vector< double > /*[0:?]*/ v); /// Priorities for connection. It refers to the layers of the RelatedObject. std::vector< double > /*[0:?]*/ RelatedPriorities() const; - void setRelatedPriorities(std::vector< double > /*[0:?]*/ v); + void RelatedPriorities(std::vector< double > /*[0:?]*/ v); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType() const; - void setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); + void RelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType() const; - void setRelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); + void RelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_VECTOR_DOUBLE; case 8: return IfcUtil::Argument_VECTOR_DOUBLE; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnectsElements::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcConnectionTypeEnum; case 10: return Type::IfcConnectionTypeEnum; } return IfcRelConnectsElements::getArgumentEntity(i); } @@ -24607,7 +23661,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntity* e); - IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); + IfcRelConnectsPathElements (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship @@ -24639,12 +23693,12 @@ class IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. IfcPort* RelatingPort() const; - void setRelatingPort(IfcPort* v); + void RelatingPort(IfcPort* v); /// Reference to an IfcElement, or IfcElementType that has ports assigned. /// /// IFC2x4 CHANGE Data type extended to IfcObjectDefinition to enable elements and element types for the port relationship. IfcDistributionElement* RelatedElement() const; - void setRelatedElement(IfcDistributionElement* v); + void RelatedElement(IfcDistributionElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPort; case 5: return Type::IfcDistributionElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -24654,7 +23708,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPortToElement (IfcAbstractEntity* e); - IfcRelConnectsPortToElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement); + IfcRelConnectsPortToElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement > list; }; /// Definition from IAI: An IfcRelConnectsPorts @@ -24674,15 +23728,13 @@ class IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. IfcPort* RelatingPort() const; - void setRelatingPort(IfcPort* v); + void RelatingPort(IfcPort* v); /// Reference to the second port that is connected by the objectified relationship. IfcPort* RelatedPort() const; - void setRelatedPort(IfcPort* v); - /// Whether the optional attribute RealizingElement is defined for this IfcRelConnectsPorts - bool hasRealizingElement() const; + void RelatedPort(IfcPort* v); /// Defines the element that realizes a port connection relationship. - IfcElement* RealizingElement() const; - void setRealizingElement(IfcElement* v); + boost::optional< IfcElement* > RealizingElement() const; + void RealizingElement(boost::optional< IfcElement* > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPort; case 5: return Type::IfcPort; case 6: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -24692,7 +23744,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPorts (IfcAbstractEntity* e); - IfcRelConnectsPorts (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); + IfcRelConnectsPorts (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, boost::optional< IfcElement* > v7_RealizingElement); typedef IfcTemplatedEntityList< IfcRelConnectsPorts > list; }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. @@ -24702,10 +23754,10 @@ class IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. IfcStructuralActivityAssignmentSelect* RelatingElement() const; - void setRelatingElement(IfcStructuralActivityAssignmentSelect* v); + void RelatingElement(IfcStructuralActivityAssignmentSelect* v); /// Reference to a structural activity which is acting upon the specified structural item or element. IfcStructuralActivity* RelatedStructuralActivity() const; - void setRelatedStructuralActivity(IfcStructuralActivity* v); + void RelatedStructuralActivity(IfcStructuralActivity* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcStructuralActivityAssignmentSelect; case 5: return Type::IfcStructuralActivity; } return IfcRelConnects::getArgumentEntity(i); } @@ -24715,7 +23767,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralActivity (IfcAbstractEntity* e); - IfcRelConnectsStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). @@ -24746,30 +23798,22 @@ class IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. IfcStructuralMember* RelatingStructuralMember() const; - void setRelatingStructuralMember(IfcStructuralMember* v); + void RelatingStructuralMember(IfcStructuralMember* v); /// Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member. IfcStructuralConnection* RelatedStructuralConnection() const; - void setRelatedStructuralConnection(IfcStructuralConnection* v); - /// Whether the optional attribute AppliedCondition is defined for this IfcRelConnectsStructuralMember - bool hasAppliedCondition() const; + void RelatedStructuralConnection(IfcStructuralConnection* v); /// Conditions which define the connections properties. Connection conditions are often called "release" but are not only used to define mechanisms like hinges but also rigid, elastic, and other conditions. - IfcBoundaryCondition* AppliedCondition() const; - void setAppliedCondition(IfcBoundaryCondition* v); - /// Whether the optional attribute AdditionalConditions is defined for this IfcRelConnectsStructuralMember - bool hasAdditionalConditions() const; + boost::optional< IfcBoundaryCondition* > AppliedCondition() const; + void AppliedCondition(boost::optional< IfcBoundaryCondition* > v); /// Describes additional connection properties. - IfcStructuralConnectionCondition* AdditionalConditions() const; - void setAdditionalConditions(IfcStructuralConnectionCondition* v); - /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember - bool hasSupportedLength() const; + boost::optional< IfcStructuralConnectionCondition* > AdditionalConditions() const; + void AdditionalConditions(boost::optional< IfcStructuralConnectionCondition* > v); /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - double SupportedLength() const; - void setSupportedLength(double v); - /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember - bool hasConditionCoordinateSystem() const; + boost::optional< double > SupportedLength() const; + void SupportedLength(boost::optional< double > v); /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. - IfcAxis2Placement3D* ConditionCoordinateSystem() const; - void setConditionCoordinateSystem(IfcAxis2Placement3D* v); + boost::optional< IfcAxis2Placement3D* > ConditionCoordinateSystem() const; + void ConditionCoordinateSystem(boost::optional< IfcAxis2Placement3D* > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcStructuralMember; case 5: return Type::IfcStructuralConnection; case 6: return Type::IfcBoundaryCondition; case 7: return Type::IfcStructuralConnectionCondition; case 8: return Type::IfcLengthMeasure; case 9: return Type::IfcAxis2Placement3D; } return IfcRelConnects::getArgumentEntity(i); } @@ -24779,7 +23823,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralMember (IfcAbstractEntity* e); - IfcRelConnectsStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember > list; }; /// Definition from IAI: The entity IfcRelConnectsWithEccentricity adds the definition of eccentricity to the connection between a structural member and a structural connection (representing either a node or support). @@ -24803,7 +23847,7 @@ class IfcRelConnectsWithEccentricity : public IfcRelConnectsStructuralMember { public: /// The connection constraint explicitly states the eccentricity between a structural member and a structural connection by means of two topological objects (vertex and vertex, or edge and edge, or face and face). IfcConnectionGeometry* ConnectionConstraint() const; - void setConnectionConstraint(IfcConnectionGeometry* v); + void ConnectionConstraint(IfcConnectionGeometry* v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENTITY; } return IfcRelConnectsStructuralMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcConnectionGeometry; } return IfcRelConnectsStructuralMember::getArgumentEntity(i); } @@ -24813,7 +23857,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithEccentricity (IfcAbstractEntity* e); - IfcRelConnectsWithEccentricity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, boost::optional< IfcBoundaryCondition* > v7_AppliedCondition, boost::optional< IfcStructuralConnectionCondition* > v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, boost::optional< IfcAxis2Placement3D* > v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: @@ -24843,12 +23887,10 @@ class IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. IfcTemplatedEntityList< IfcElement >::ptr RealizingElements() const; - void setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v); - /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements - bool hasConnectionType() const; + void RealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v); /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - std::string ConnectionType() const; - void setConnectionType(std::string v); + boost::optional< std::string > ConnectionType() const; + void ConnectionType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnectsElements::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcElement; case 8: return Type::IfcLabel; } return IfcRelConnectsElements::getArgumentEntity(i); } @@ -24858,7 +23900,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithRealizingElements (IfcAbstractEntity* e); - IfcRelConnectsWithRealizingElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); + IfcRelConnectsWithRealizingElements (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcConnectionGeometry* > v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, @@ -24929,10 +23971,10 @@ public: /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; - void setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); + void RelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); /// Spatial structure element, within which the element is contained. Any element can only be contained within one element of the project spatial structure. IfcSpatialElement* RelatingStructure() const; - void setRelatingStructure(IfcSpatialElement* v); + void RelatingStructure(IfcSpatialElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProduct; case 5: return Type::IfcSpatialElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -24942,7 +23984,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelContainedInSpatialStructure (IfcAbstractEntity* e); - IfcRelContainedInSpatialStructure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); + IfcRelContainedInSpatialStructure (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > list; }; /// Definition from IAI: The @@ -24967,10 +24009,10 @@ public: /// /// IFC2x4 CHANGE: The attribute type has been changed from IfcElement to IfcBuildingElement. IfcElement* RelatingBuildingElement() const; - void setRelatingBuildingElement(IfcElement* v); + void RelatingBuildingElement(IfcElement* v); /// Relationship to the set of coverings at this element. IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; - void setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); + void RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcCovering; } return IfcRelConnects::getArgumentEntity(i); } @@ -24980,7 +24022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelCoversBldgElements (IfcAbstractEntity* e); - IfcRelCoversBldgElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + IfcRelCoversBldgElements (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); typedef IfcTemplatedEntityList< IfcRelCoversBldgElements > list; }; /// Definition from IAI: The objectified relationship, @@ -25015,10 +24057,10 @@ public: /// /// IFC2x4 CHANGE: The attribute name has been changed from RelatedSpace to RelatingSpace with upward compatibility for file based exchange. IfcSpace* RelatingSpace() const; - void setRelatingSpace(IfcSpace* v); + void RelatingSpace(IfcSpace* v); /// Relationship to the set of coverings covering this space. IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; - void setRelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); + void RelatedCoverings(IfcTemplatedEntityList< IfcCovering >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSpace; case 5: return Type::IfcCovering; } return IfcRelConnects::getArgumentEntity(i); } @@ -25028,7 +24070,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelCoversSpaces (IfcAbstractEntity* e); - IfcRelCoversSpaces (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + IfcRelCoversSpaces (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); typedef IfcTemplatedEntityList< IfcRelCoversSpaces > list; }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). @@ -25046,10 +24088,10 @@ class IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. IfcContext* RelatingContext() const; - void setRelatingContext(IfcContext* v); + void RelatingContext(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. IfcEntityList::ptr RelatedDefinitions() const; - void setRelatedDefinitions(IfcEntityList::ptr v); + void RelatedDefinitions(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcContext; case 5: return Type::IfcDefinitionSelect; } return IfcRelationship::getArgumentEntity(i); } @@ -25059,7 +24101,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDeclares (IfcAbstractEntity* e); - IfcRelDeclares (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions); typedef IfcTemplatedEntityList< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -25103,7 +24145,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDecomposes (IfcAbstractEntity* e); - IfcRelDecomposes (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcRelDecomposes (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelDecomposes > list; }; /// A generic and abstract relationship which subtypes are used to: @@ -25144,7 +24186,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefines (IfcAbstractEntity* e); - IfcRelDefines (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); + IfcRelDefines (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelDefines > list; }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. @@ -25166,10 +24208,10 @@ class IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); /// Object being part of an object type decomposition, acting as the "declaring part" in the relationship. IfcObject* RelatingObject() const; - void setRelatingObject(IfcObject* v); + void RelatingObject(IfcObject* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObject; case 5: return Type::IfcObject; } return IfcRelDefines::getArgumentEntity(i); } @@ -25179,7 +24221,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByObject (IfcAbstractEntity* e); - IfcRelDefinesByObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject); + IfcRelDefinesByObject (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject); typedef IfcTemplatedEntityList< IfcRelDefinesByObject > list; }; /// The objectified relationship @@ -25201,10 +24243,10 @@ class IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Reference to the property set definition for that object or set of objects. IfcPropertySetDefinitionSelect* RelatingPropertyDefinition() const; - void setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect* v); + void RelatingPropertyDefinition(IfcPropertySetDefinitionSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObjectDefinition; case 5: return Type::IfcPropertySetDefinitionSelect; } return IfcRelDefines::getArgumentEntity(i); } @@ -25214,7 +24256,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByProperties (IfcAbstractEntity* e); - IfcRelDefinesByProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition); typedef IfcTemplatedEntityList< IfcRelDefinesByProperties > list; }; /// The objectified relationship @@ -25233,10 +24275,10 @@ class IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr RelatedPropertySets() const; - void setRelatedPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v); + void RelatedPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v); /// Property set template that provides the common definition of related property sets. IfcPropertySetTemplate* RelatingTemplate() const; - void setRelatingTemplate(IfcPropertySetTemplate* v); + void RelatingTemplate(IfcPropertySetTemplate* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPropertySetDefinition; case 5: return Type::IfcPropertySetTemplate; } return IfcRelDefines::getArgumentEntity(i); } @@ -25246,7 +24288,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByTemplate (IfcAbstractEntity* e); - IfcRelDefinesByTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate); + IfcRelDefinesByTemplate (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate); typedef IfcTemplatedEntityList< IfcRelDefinesByTemplate > list; }; /// The objectified relationship @@ -25323,10 +24365,10 @@ public: class IfcRelDefinesByType : public IfcRelDefines { public: IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); /// Reference to the type (or style) information for that object or set of objects. IfcTypeObject* RelatingType() const; - void setRelatingType(IfcTypeObject* v); + void RelatingType(IfcTypeObject* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObject; case 5: return Type::IfcTypeObject; } return IfcRelDefines::getArgumentEntity(i); } @@ -25336,7 +24378,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByType (IfcAbstractEntity* e); - IfcRelDefinesByType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); + IfcRelDefinesByType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); typedef IfcTemplatedEntityList< IfcRelDefinesByType > list; }; /// IfcRelFillsElement is an objectified relationship between an opening element and an element that fills (or partially fills) the opening element. It is an one-to-one relationship. @@ -25352,12 +24394,12 @@ class IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. IfcOpeningElement* RelatingOpeningElement() const; - void setRelatingOpeningElement(IfcOpeningElement* v); + void RelatingOpeningElement(IfcOpeningElement* v); /// Reference to building element that occupies fully or partially the associated opening. /// /// IFC2x PLATFORM CHANGE: The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. IfcElement* RelatedBuildingElement() const; - void setRelatedBuildingElement(IfcElement* v); + void RelatedBuildingElement(IfcElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcOpeningElement; case 5: return Type::IfcElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -25367,7 +24409,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelFillsElement (IfcAbstractEntity* e); - IfcRelFillsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); + IfcRelFillsElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); typedef IfcTemplatedEntityList< IfcRelFillsElement > list; }; /// Objectified relationship between a distribution flow element occurrence instance and one-to-many control element occurrence instances indicating that the control element(s) sense or control some aspect of the flow element. It is applied to IfcDistributionFlowElement and IfcDistributionControlElement. @@ -25381,10 +24423,10 @@ class IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. IfcTemplatedEntityList< IfcDistributionControlElement >::ptr RelatedControlElements() const; - void setRelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v); + void RelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v); /// Relationship to a distribution flow element IfcDistributionFlowElement* RelatingFlowElement() const; - void setRelatingFlowElement(IfcDistributionFlowElement* v); + void RelatingFlowElement(IfcDistributionFlowElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcDistributionControlElement; case 5: return Type::IfcDistributionFlowElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -25394,7 +24436,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelFlowControlElements (IfcAbstractEntity* e); - IfcRelFlowControlElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); + IfcRelFlowControlElements (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; }; /// Definition from IAI: The @@ -25448,23 +24490,19 @@ class IfcRelInterferesElements : public IfcRelConnects { public: /// Reference to a subtype of IfcElement that is the RelatingElement in the interference relationship. Depending on the value of ImpliedOrder the RelatingElement may carry the notion to be the element from which the interference geometry should be subtracted. IfcElement* RelatingElement() const; - void setRelatingElement(IfcElement* v); + void RelatingElement(IfcElement* v); /// Reference to a subtype of IfcElement that is the RelatedElement in the interference relationship. Depending on the value of ImpliedOrder the RelatedElement may carry the notion to be the element from which the interference geometry should not be subtracted. IfcElement* RelatedElement() const; - void setRelatedElement(IfcElement* v); - /// Whether the optional attribute InterferenceGeometry is defined for this IfcRelInterferesElements - bool hasInterferenceGeometry() const; + void RelatedElement(IfcElement* v); /// The geometric shape representation of the interference geometry that is provided in the object coordinate system of the RelatingElement (mandatory) and in the object coordinate system of the RelatedElement (optionally). - IfcConnectionGeometry* InterferenceGeometry() const; - void setInterferenceGeometry(IfcConnectionGeometry* v); - /// Whether the optional attribute InterferenceType is defined for this IfcRelInterferesElements - bool hasInterferenceType() const; + boost::optional< IfcConnectionGeometry* > InterferenceGeometry() const; + void InterferenceGeometry(boost::optional< IfcConnectionGeometry* > v); /// Optional identifier that describes the nature of the interference. Examples could include 'Clash', 'ProvisionForVoid', etc. - std::string InterferenceType() const; - void setInterferenceType(std::string v); + boost::optional< std::string > InterferenceType() const; + void InterferenceType(boost::optional< std::string > v); /// Logical value indicating whether the interference geometry should be subtracted from the RelatingElement (if TRUE), or whether it should be either subtracted from the RelatingElement or the RelatedElement (if FALSE), or whether no indication can be provided (if UNKNOWN). bool ImpliedOrder() const; - void setImpliedOrder(bool v); + void ImpliedOrder(bool v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_BOOL; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcElement; case 6: return Type::IfcConnectionGeometry; case 7: return Type::IfcIdentifier; case 8: return Type::UNDEFINED; } return IfcRelConnects::getArgumentEntity(i); } @@ -25474,7 +24512,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelInterferesElements (IfcAbstractEntity* e); - IfcRelInterferesElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder); + IfcRelInterferesElements (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, boost::optional< IfcConnectionGeometry* > v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder); typedef IfcTemplatedEntityList< IfcRelInterferesElements > list; }; /// The nesting relationship @@ -25508,12 +24546,12 @@ public: /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered nesting relationship. IfcObjectDefinition* RelatingObject() const; - void setRelatingObject(IfcObjectDefinition* v); + void RelatingObject(IfcObjectDefinition* v); /// The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship - i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects. /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered set of parts within the nest. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelDecomposes::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObjectDefinition; case 5: return Type::IfcObjectDefinition; } return IfcRelDecomposes::getArgumentEntity(i); } @@ -25523,7 +24561,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelNests (IfcAbstractEntity* e); - IfcRelNests (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelNests (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelNests > list; }; /// The IfcRelProjectsElement is an objectified relationship @@ -25562,10 +24600,10 @@ class IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. IfcElement* RelatingElement() const; - void setRelatingElement(IfcElement* v); + void RelatingElement(IfcElement* v); /// Reference to the IfcFeatureElementAddition that defines an addition to the volume of the element, by using a Boolean addition operation. An example is a projection at the associated element. IfcFeatureElementAddition* RelatedFeatureElement() const; - void setRelatedFeatureElement(IfcFeatureElementAddition* v); + void RelatedFeatureElement(IfcFeatureElementAddition* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDecomposes::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcFeatureElementAddition; } return IfcRelDecomposes::getArgumentEntity(i); } @@ -25575,7 +24613,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelProjectsElement (IfcAbstractEntity* e); - IfcRelProjectsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); + IfcRelProjectsElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); typedef IfcTemplatedEntityList< IfcRelProjectsElement > list; }; /// The objectified relationship, @@ -25632,12 +24670,12 @@ 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. IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; - void setRelatedElements(IfcTemplatedEntityList< IfcProduct >::ptr v); + void RelatedElements(IfcTemplatedEntityList< IfcProduct >::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. IfcSpatialElement* RelatingStructure() const; - void setRelatingStructure(IfcSpatialElement* v); + void RelatingStructure(IfcSpatialElement* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProduct; case 5: return Type::IfcSpatialElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -25647,7 +24685,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelReferencedInSpatialStructure (IfcAbstractEntity* e); - IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -25708,24 +24746,18 @@ class IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. IfcProcess* RelatingProcess() const; - void setRelatingProcess(IfcProcess* v); + void RelatingProcess(IfcProcess* v); /// Reference to the process, that is the successor. IfcProcess* RelatedProcess() const; - void setRelatedProcess(IfcProcess* v); - /// Whether the optional attribute TimeLag is defined for this IfcRelSequence - bool hasTimeLag() const; + void RelatedProcess(IfcProcess* v); /// Time duration of the sequence, it is the time lag between the /// predecessor and the successor as specified by the /// SequenceType. - IfcLagTime* TimeLag() const; - void setTimeLag(IfcLagTime* v); - /// Whether the optional attribute SequenceType is defined for this IfcRelSequence - bool hasSequenceType() const; + boost::optional< IfcLagTime* > TimeLag() const; + void TimeLag(boost::optional< IfcLagTime* > v); /// The way in which the time lag applies to the sequence. - IfcSequenceEnum::IfcSequenceEnum SequenceType() const; - void setSequenceType(IfcSequenceEnum::IfcSequenceEnum v); - /// Whether the optional attribute UserDefinedSequenceType is defined for this IfcRelSequence - bool hasUserDefinedSequenceType() const; + boost::optional< IfcSequenceEnum::IfcSequenceEnum > SequenceType() const; + void SequenceType(boost::optional< IfcSequenceEnum::IfcSequenceEnum > v); /// Allows for specification of user defined type of the sequence /// beyond the enumeration values (START_START, START_FINISH, /// FINISH_START, FINISH_FINISH) provided by SequenceType @@ -25735,8 +24767,8 @@ public: /// enumeration value USERDEFINED. /// /// Added in IFC 2x4 - std::string UserDefinedSequenceType() const; - void setUserDefinedSequenceType(std::string v); + boost::optional< std::string > UserDefinedSequenceType() const; + void UserDefinedSequenceType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProcess; case 5: return Type::IfcProcess; case 6: return Type::IfcLagTime; case 7: return Type::IfcSequenceEnum; case 8: return Type::IfcLabel; } return IfcRelConnects::getArgumentEntity(i); } @@ -25746,7 +24778,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSequence (IfcAbstractEntity* e); - IfcRelSequence (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType); + IfcRelSequence (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, boost::optional< IfcLagTime* > v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType); typedef IfcTemplatedEntityList< IfcRelSequence > list; }; /// Definition from IAI: An objectified relationship @@ -25774,14 +24806,14 @@ class IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. IfcSystem* RelatingSystem() const; - void setRelatingSystem(IfcSystem* v); + void RelatingSystem(IfcSystem* v); /// Spatial structure elements (including site, building, storeys) that are serviced by the system. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuilding to IfcSpatialStructureElement with upward compatibility for file based exchange. /// /// IFC2x Edition 4 CHANGE  The data type has been changed from IfcSpatialStructureElement to IfcSpatialElement with upward compatibility for file based exchange. IfcTemplatedEntityList< IfcSpatialElement >::ptr RelatedBuildings() const; - void setRelatedBuildings(IfcTemplatedEntityList< IfcSpatialElement >::ptr v); + void RelatedBuildings(IfcTemplatedEntityList< IfcSpatialElement >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSystem; case 5: return Type::IfcSpatialElement; } return IfcRelConnects::getArgumentEntity(i); } @@ -25791,7 +24823,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelServicesBuildings (IfcAbstractEntity* e); - IfcRelServicesBuildings (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings); + IfcRelServicesBuildings (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings); typedef IfcTemplatedEntityList< IfcRelServicesBuildings > list; }; /// The space boundary defines the @@ -25960,27 +24992,25 @@ class IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. IfcSpaceBoundarySelect* RelatingSpace() const; - void setRelatingSpace(IfcSpaceBoundarySelect* v); + void RelatingSpace(IfcSpaceBoundarySelect* v); /// Reference to Building Element, that defines the Space Boundaries. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. /// /// IFC2x4 CHANGE  The attribute has been changed to be mandatory. IfcElement* RelatedBuildingElement() const; - void setRelatedBuildingElement(IfcElement* v); - /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary - bool hasConnectionGeometry() const; + void RelatedBuildingElement(IfcElement* v); /// Physical representation of the space boundary. Provided as a curve or surface given within the LCS of the space. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcConnectionSurfaceGeometry to IfcConnectionGeometry with upward compatibility for file based exchange. - IfcConnectionGeometry* ConnectionGeometry() const; - void setConnectionGeometry(IfcConnectionGeometry* v); + boost::optional< IfcConnectionGeometry* > ConnectionGeometry() const; + void ConnectionGeometry(boost::optional< IfcConnectionGeometry* > v); /// Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual). IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary() const; - void setPhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v); + void PhysicalOrVirtualBoundary(IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v); /// Defines, whether the Space Boundary is internal (Internal), or external, i.e. adjacent to open space (that can be an partially enclosed space, such as terrace (External). IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InternalOrExternalBoundary() const; - void setInternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); + void InternalOrExternalBoundary(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnects::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSpaceBoundarySelect; case 5: return Type::IfcElement; case 6: return Type::IfcConnectionGeometry; case 7: return Type::IfcPhysicalOrVirtualEnum; case 8: return Type::IfcInternalOrExternalEnum; } return IfcRelConnects::getArgumentEntity(i); } @@ -25990,7 +25020,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary (IfcAbstractEntity* e); - IfcRelSpaceBoundary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary > list; }; /// The 1st level space boundary @@ -26042,11 +25072,9 @@ public: /// boundaries. class IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: - /// Whether the optional attribute ParentBoundary is defined for this IfcRelSpaceBoundary1stLevel - bool hasParentBoundary() const; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. - IfcRelSpaceBoundary1stLevel* ParentBoundary() const; - void setParentBoundary(IfcRelSpaceBoundary1stLevel* v); + boost::optional< IfcRelSpaceBoundary1stLevel* > ParentBoundary() const; + void ParentBoundary(boost::optional< IfcRelSpaceBoundary1stLevel* > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; } return IfcRelSpaceBoundary::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRelSpaceBoundary1stLevel; } return IfcRelSpaceBoundary::getArgumentEntity(i); } @@ -26057,7 +25085,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary1stLevel (IfcAbstractEntity* e); - IfcRelSpaceBoundary1stLevel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, boost::optional< IfcRelSpaceBoundary1stLevel* > v10_ParentBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel > list; }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: @@ -26094,11 +25122,9 @@ public: /// space boundaries. class IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: - /// Whether the optional attribute CorrespondingBoundary is defined for this IfcRelSpaceBoundary2ndLevel - bool hasCorrespondingBoundary() const; /// Reference to the other space boundary of the pair of two space boundaries on either side of a space separating thermal boundary element. - IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; - void setCorrespondingBoundary(IfcRelSpaceBoundary2ndLevel* v); + boost::optional< IfcRelSpaceBoundary2ndLevel* > CorrespondingBoundary() const; + void CorrespondingBoundary(boost::optional< IfcRelSpaceBoundary2ndLevel* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENTITY; } return IfcRelSpaceBoundary1stLevel::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcRelSpaceBoundary2ndLevel; } return IfcRelSpaceBoundary1stLevel::getArgumentEntity(i); } @@ -26109,7 +25135,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary2ndLevel (IfcAbstractEntity* e); - IfcRelSpaceBoundary2ndLevel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, boost::optional< IfcConnectionGeometry* > v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, boost::optional< IfcRelSpaceBoundary1stLevel* > v10_ParentBoundary, boost::optional< IfcRelSpaceBoundary2ndLevel* > v11_CorrespondingBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel > list; }; /// IfcRelVoidsElement is an objectified relationship between a building element and one opening element that creates a void in the element. It is a one-to-one relationship. This relationship implies a Boolean operation of subtraction between the geometric bodies of the element and the opening. @@ -26122,9 +25148,9 @@ public: class IfcRelVoidsElement : public IfcRelDecomposes { public: IfcElement* RelatingBuildingElement() const; - void setRelatingBuildingElement(IfcElement* v); + void RelatingBuildingElement(IfcElement* v); IfcFeatureElementSubtraction* RelatedOpeningElement() const; - void setRelatedOpeningElement(IfcFeatureElementSubtraction* v); + void RelatedOpeningElement(IfcFeatureElementSubtraction* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDecomposes::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcElement; case 5: return Type::IfcFeatureElementSubtraction; } return IfcRelDecomposes::getArgumentEntity(i); } @@ -26134,7 +25160,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelVoidsElement (IfcAbstractEntity* e); - IfcRelVoidsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); + IfcRelVoidsElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); typedef IfcTemplatedEntityList< IfcRelVoidsElement > list; }; /// Definition from ISO/CD 10303-42:1992: The @@ -26163,7 +25189,7 @@ public: class IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: double ParamLength() const; - void setParamLength(double v); + void ParamLength(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcCompositeCurveSegment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcParameterValue; } return IfcCompositeCurveSegment::getArgumentEntity(i); } @@ -26191,21 +25217,17 @@ public: /// IFC2x PLATFORM CHANGE: The attributes BaseUnit and ResourceConsumption have been removed from the abstract entity; they are reintroduced at a lower level in the hierarchy. class IfcResource : public IfcObject { public: - /// Whether the optional attribute Identification is defined for this IfcResource - bool hasIdentification() const; /// An identifying designation given to a resource. /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute promoted from subtype IfcConstructionResource. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcResource - bool hasLongDescription() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// A detailed description of the resource (e.g. the skillset for a labor resource). /// /// IFC2x4 NOTE:  The attribute LongDescription is added replacing the ResourceGroup attribute at subtype IfcConstructionResource. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcText; } return IfcObject::getArgumentEntity(i); } @@ -26216,7 +25238,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResource (IfcAbstractEntity* e); - IfcResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription); + IfcResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription); typedef IfcTemplatedEntityList< IfcResource > list; }; /// An IfcRevolvedAreaSolid is a solid created by revolving @@ -26299,10 +25321,10 @@ class IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. IfcAxis1Placement* Axis() const; - void setAxis(IfcAxis1Placement* v); + void Axis(IfcAxis1Placement* v); /// The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. double Angle() const; - void setAngle(double v); + void Angle(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis1Placement; case 3: return Type::IfcPlaneAngleMeasure; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -26312,7 +25334,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRevolvedAreaSolid (IfcAbstractEntity* e); - IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle); + IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle); typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid > list; }; /// IfcRevolvedAreaSolidTapered is defined by revolving a @@ -26376,7 +25398,7 @@ public: class IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: IfcProfileDef* EndSweptArea() const; - void setEndSweptArea(IfcProfileDef* v); + void EndSweptArea(IfcProfileDef* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; } return IfcRevolvedAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcProfileDef; } return IfcRevolvedAreaSolid::getArgumentEntity(i); } @@ -26386,7 +25408,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRevolvedAreaSolidTapered (IfcAbstractEntity* e); - IfcRevolvedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle, IfcProfileDef* v5_EndSweptArea); + IfcRevolvedAreaSolidTapered (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle, IfcProfileDef* v5_EndSweptArea); typedef IfcTemplatedEntityList< IfcRevolvedAreaSolidTapered > list; }; /// The IfcRightCircularCone is a Construction Solid @@ -26458,10 +25480,10 @@ class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. double Height() const; - void setHeight(double v); + void Height(double v); /// The radius of the cone at the base. double BottomRadius() const; - void setBottomRadius(double v); + void BottomRadius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -26559,10 +25581,10 @@ class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. double Height() const; - void setHeight(double v); + void Height(double v); /// The radius of the cylinder. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -26622,27 +25644,17 @@ public: /// Figure 9 — Property template relationships class IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: - /// Whether the optional attribute TemplateType is defined for this IfcSimplePropertyTemplate - bool hasTemplateType() const; /// Property type defining whether the property template defines a property with a single value, a bounded value, a list value, a table value, an enumerated value, or a reference value. Or the quantity type defining whether the template defines a quantity with a length, area, volume, weight or time value. /// /// NOTE the value of this property determines the correct use of the PrimaryUnit, SecondaryUnit, PrimaryDataType, SecondaryDataType, and Expression attributes. - IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum TemplateType() const; - void setTemplateType(IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum v); - /// Whether the optional attribute PrimaryMeasureType is defined for this IfcSimplePropertyTemplate - bool hasPrimaryMeasureType() const; - std::string PrimaryMeasureType() const; - void setPrimaryMeasureType(std::string v); - /// Whether the optional attribute SecondaryMeasureType is defined for this IfcSimplePropertyTemplate - bool hasSecondaryMeasureType() const; - std::string SecondaryMeasureType() const; - void setSecondaryMeasureType(std::string v); - /// Whether the optional attribute Enumerators is defined for this IfcSimplePropertyTemplate - bool hasEnumerators() const; - IfcPropertyEnumeration* Enumerators() const; - void setEnumerators(IfcPropertyEnumeration* v); - /// Whether the optional attribute PrimaryUnit is defined for this IfcSimplePropertyTemplate - bool hasPrimaryUnit() const; + boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > TemplateType() const; + void TemplateType(boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v); + boost::optional< std::string > PrimaryMeasureType() const; + void PrimaryMeasureType(boost::optional< std::string > v); + boost::optional< std::string > SecondaryMeasureType() const; + void SecondaryMeasureType(boost::optional< std::string > v); + boost::optional< IfcPropertyEnumeration* > Enumerators() const; + void Enumerators(boost::optional< IfcPropertyEnumeration* > v); /// Primary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: /// /// P_SINGLEVALUE: determining the IfcPropertySingleValue.Unit @@ -26650,27 +25662,21 @@ public: /// P_BOUNDEDVALUE: determining the IfcPropertyBoundedValue.Unit /// P_LISTVALUE: determining the IfcPropertyListValue.Unit /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefiningUnit - IfcUnit* PrimaryUnit() const; - void setPrimaryUnit(IfcUnit* v); - /// Whether the optional attribute SecondaryUnit is defined for this IfcSimplePropertyTemplate - bool hasSecondaryUnit() const; + boost::optional< IfcUnit* > PrimaryUnit() const; + void PrimaryUnit(boost::optional< IfcUnit* > v); /// Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: /// /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit - IfcUnit* SecondaryUnit() const; - void setSecondaryUnit(IfcUnit* v); - /// Whether the optional attribute Expression is defined for this IfcSimplePropertyTemplate - bool hasExpression() const; + boost::optional< IfcUnit* > SecondaryUnit() const; + void SecondaryUnit(boost::optional< IfcUnit* > v); /// The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to: /// /// P_TABLEVALUE: the expression that could be evaluated to define the correlation between the defining values and the defined values. /// Q_LENGTH, Q_AREA, Q_VOLUME, Q_COUNT, Q_WEIGTH, Q_TIME: the formula to be used to calculate the quantity /// /// NOTE No value shall be asserted if the PropertyType is not listed above. - std::string Expression() const; - void setExpression(std::string v); - /// Whether the optional attribute AccessState is defined for this IfcSimplePropertyTemplate - bool hasAccessState() const; + boost::optional< std::string > Expression() const; + void Expression(boost::optional< std::string > v); /// Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it. /// Attribute use definition for IfcStateEnum /// @@ -26683,8 +25689,8 @@ public: /// READWRITELOCKED: Properties of this template are locked, readable, and writable. They may only be accessed by the owning application. /// /// READONLYLOCKED: Properties of this template are locked and read-only. They may only be accessed by the owning application. - IfcStateEnum::IfcStateEnum AccessState() const; - void setAccessState(IfcStateEnum::IfcStateEnum v); + boost::optional< IfcStateEnum::IfcStateEnum > AccessState() const; + void AccessState(boost::optional< IfcStateEnum::IfcStateEnum > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_ENUMERATION; } return IfcPropertyTemplate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcSimplePropertyTemplateTypeEnum; case 5: return Type::IfcLabel; case 6: return Type::IfcLabel; case 7: return Type::IfcPropertyEnumeration; case 8: return Type::IfcUnit; case 9: return Type::IfcUnit; case 10: return Type::IfcLabel; case 11: return Type::IfcStateEnum; } return IfcPropertyTemplate::getArgumentEntity(i); } @@ -26694,7 +25700,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSimplePropertyTemplate (IfcAbstractEntity* e); - IfcSimplePropertyTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, IfcUnit* v9_PrimaryUnit, IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState); + IfcSimplePropertyTemplate (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, boost::optional< IfcPropertyEnumeration* > v8_Enumerators, boost::optional< IfcUnit* > v9_PrimaryUnit, boost::optional< IfcUnit* > v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState); typedef IfcTemplatedEntityList< IfcSimplePropertyTemplate > list; }; /// Definition from IAI: A spatial element is the @@ -26730,13 +25736,11 @@ public: /// Release 2x Edition 4. class IfcSpatialElement : public IfcProduct { public: - /// Whether the optional attribute LongName is defined for this IfcSpatialElement - bool hasLongName() const; /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a spacial element, and the LongName refers to the full name. - std::string LongName() const; - void setLongName(std::string v); + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; } return IfcProduct::getArgumentEntity(i); } @@ -26749,7 +25753,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialElement (IfcAbstractEntity* e); - IfcSpatialElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName); + IfcSpatialElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName); typedef IfcTemplatedEntityList< IfcSpatialElement > list; }; /// Definition from IAI: The IfcSpatialElementType @@ -26785,11 +25789,9 @@ public: /// IFC2x Edition 4. class IfcSpatialElementType : public IfcTypeProduct { public: - /// Whether the optional attribute ElementType is defined for this IfcSpatialElementType - bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - std::string ElementType() const; - void setElementType(std::string v); + boost::optional< std::string > ElementType() const; + void ElementType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLabel; } return IfcTypeProduct::getArgumentEntity(i); } @@ -26799,7 +25801,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialElementType (IfcAbstractEntity* e); - IfcSpatialElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcSpatialElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcSpatialElementType > list; }; /// A spatial structure element @@ -26878,14 +25880,12 @@ public: /// Figure 62 — Spatial structure element composition class IfcSpatialStructureElement : public IfcSpatialElement { public: - /// Whether the optional attribute CompositionType is defined for this IfcSpatialStructureElement - bool hasCompositionType() const; /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// /// IFC2x4 CHANGE  /// Attribute made optional. - IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType() const; - void setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v); + boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > CompositionType() const; + void CompositionType(boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcSpatialElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElementCompositionEnum; } return IfcSpatialElement::getArgumentEntity(i); } @@ -26895,7 +25895,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElement (IfcAbstractEntity* e); - IfcSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); + IfcSpatialStructureElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type @@ -26943,7 +25943,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElementType (IfcAbstractEntity* e); - IfcSpatialStructureElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcSpatialStructureElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcSpatialStructureElementType > list; }; /// Definition from IAI: A spatial element is the @@ -26997,11 +25997,9 @@ public: /// IFC Release 2x Edition 4. class IfcSpatialZone : public IfcSpatialElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSpatialZone - bool hasPredefinedType() const; /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. - IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v); + boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcSpatialElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSpatialZoneTypeEnum; } return IfcSpatialElement::getArgumentEntity(i); } @@ -27011,7 +26009,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialZone (IfcAbstractEntity* e); - IfcSpatialZone (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType); + IfcSpatialZone (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSpatialZone > list; }; /// Definition from IAI: The IfcSpatialZoneType @@ -27048,11 +26046,9 @@ class IfcSpatialZoneType : public IfcSpatialElementType { public: /// Predefined types to define the particular type of the spatial zone. There may be property set definitions available for each predefined type. IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v); - /// Whether the optional attribute LongName is defined for this IfcSpatialZoneType - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + void PredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v); + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcSpatialElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSpatialZoneTypeEnum; case 10: return Type::IfcLabel; } return IfcSpatialElementType::getArgumentEntity(i); } @@ -27062,7 +26058,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialZoneType (IfcAbstractEntity* e); - IfcSpatialZoneType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName); + IfcSpatialZoneType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName); typedef IfcTemplatedEntityList< IfcSpatialZoneType > list; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D @@ -27119,7 +26115,7 @@ class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -27231,7 +26227,7 @@ public: /// /// In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity. IfcStructuralLoad* AppliedLoad() const; - void setAppliedLoad(IfcStructuralLoad* v); + void AppliedLoad(IfcStructuralLoad* v); /// Indicates whether the load directions refer to the global coordinate system (global to /// the analysis model, i.e. as established by IfcStructuralAnalysisModel.SharedPlacement) /// or to the local coordinate system (local to the activity or connected item, as established by @@ -27250,7 +26246,7 @@ public: /// is to be taken as coordinates which are local to individual structural items and activities, /// as established by subclass-specific geometry use definitions. IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal() const; - void setGlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v); + void GlobalOrLocal(IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcStructuralLoad; case 8: return Type::IfcGlobalOrLocalEnum; } return IfcProduct::getArgumentEntity(i); } @@ -27261,7 +26257,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralActivity (IfcAbstractEntity* e); - IfcStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralActivity (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralActivity > list; }; /// Definition from IAI: The abstract entity IfcStructuralItem is the generalization of structural members and structural connections, i.e. analysis idealizations of elements in the building model. It defines the relation between structural members and connections with structural activities (actions and reactions). @@ -27363,7 +26359,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralItem (IfcAbstractEntity* e); - IfcStructuralItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralItem (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralItem > list; }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. @@ -27382,7 +26378,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralMember (IfcAbstractEntity* e); - IfcStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralMember (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a @@ -27416,7 +26412,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralReaction (IfcAbstractEntity* e); - IfcStructuralReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralReaction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralReaction > list; }; /// Definition from IAI: Instances of IfcStructuralSurfaceMember describe face members, i.e. structural analysis idealizations of slabs, walls, shells, etc.. Surface members may be planar or curved. @@ -27443,12 +26439,10 @@ class IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v); - /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember - bool hasThickness() const; + void PredefinedType(IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v); /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - double Thickness() const; - void setThickness(double v); + boost::optional< double > Thickness() const; + void Thickness(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; } return IfcStructuralMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcStructuralSurfaceMemberTypeEnum; case 8: return Type::IfcPositiveLengthMeasure; } return IfcStructuralMember::getArgumentEntity(i); } @@ -27458,7 +26452,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMember (IfcAbstractEntity* e); - IfcStructuralSurfaceMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); + IfcStructuralSurfaceMember (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember > list; }; /// Definition from IAI: Describes surface members with varying section properties. The properties are provided by means of a property set and IfcRelDefinesByProperties or by means of aggregation: An instance of IfcStructuralSurfaceMemberVarying may be composed of two or more instances of IfcStructuralSurfaceMember with differing section properties. These subordinate members relate to the instance of IfcStructuralSurfaceMemberVarying by IfcRelAggregates. @@ -27490,7 +26484,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMemberVarying (IfcAbstractEntity* e); - IfcStructuralSurfaceMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); + IfcStructuralSurfaceMemberVarying (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. @@ -27519,7 +26513,7 @@ class IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v); + void PredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralReaction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStructuralSurfaceActivityTypeEnum; } return IfcStructuralReaction::getArgumentEntity(i); } @@ -27529,7 +26523,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceReaction (IfcAbstractEntity* e); - IfcStructuralSurfaceReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType); + IfcStructuralSurfaceReaction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralSurfaceReaction > list; }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: @@ -27547,7 +26541,7 @@ class IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v); + void PredefinedType(IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResourceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcSubContractResourceTypeEnum; } return IfcConstructionResourceType::getArgumentEntity(i); } @@ -27557,7 +26551,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSubContractResourceType (IfcAbstractEntity* e); - IfcSubContractResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); + IfcSubContractResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcSubContractResourceType > list; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of @@ -27626,24 +26620,20 @@ class IfcSurfaceCurveSweptAreaSolid : public IfcSweptAreaSolid { public: /// The curve used to define the sweeping operation. The solid is generated by sweeping the SELF\IfcSweptAreaSolid.SweptArea along the Directrix. IfcCurve* Directrix() const; - void setDirectrix(IfcCurve* v); - /// Whether the optional attribute StartParam is defined for this IfcSurfaceCurveSweptAreaSolid - bool hasStartParam() const; + void Directrix(IfcCurve* v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - double StartParam() const; - void setStartParam(double v); - /// Whether the optional attribute EndParam is defined for this IfcSurfaceCurveSweptAreaSolid - bool hasEndParam() const; + boost::optional< double > StartParam() const; + void StartParam(boost::optional< double > v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - double EndParam() const; - void setEndParam(double v); + boost::optional< double > EndParam() const; + void EndParam(boost::optional< double > v); /// The surface containing the Directrix. IfcSurface* ReferenceSurface() const; - void setReferenceSurface(IfcSurface* v); + void ReferenceSurface(IfcSurface* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_ENTITY; } return IfcSweptAreaSolid::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::IfcSurface; } return IfcSweptAreaSolid::getArgumentEntity(i); } @@ -27653,7 +26643,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntity* e); - IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcSurface* v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcSurface* v6_ReferenceSurface); typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > list; }; /// Definition from ISO/CD 10303-42:1992: This surface is a simple swept surface or a generalized cylinder obtained by sweeping a curve in a given direction. The parameterization is as follows where the curve has a parameterization l(u): @@ -27673,10 +26663,10 @@ class IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. IfcDirection* ExtrudedDirection() const; - void setExtrudedDirection(IfcDirection* v); + void ExtrudedDirection(IfcDirection* v); /// The depth of the extrusion, it determines the parameterization. double Depth() const; - void setDepth(double v); + void Depth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDirection; case 3: return Type::IfcLengthMeasure; } return IfcSweptSurface::getArgumentEntity(i); } @@ -27686,7 +26676,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceOfLinearExtrusion (IfcAbstractEntity* e); - IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); + IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > list; }; /// Definition from ISO/CD 10303-42:1992: A surface of revolution (IfcSurfaceOfRevolution) is the surface obtained by rotating a curve one complete revolution about an axis. The data shall be interpreted as below. @@ -27710,7 +26700,7 @@ class IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. IfcAxis1Placement* AxisPosition() const; - void setAxisPosition(IfcAxis1Placement* v); + void AxisPosition(IfcAxis1Placement* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcSweptSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcAxis1Placement; } return IfcSweptSurface::getArgumentEntity(i); } @@ -27720,7 +26710,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceOfRevolution (IfcAbstractEntity* e); - IfcSurfaceOfRevolution (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_AxisPosition); + IfcSurfaceOfRevolution (IfcProfileDef* v1_SweptCurve, boost::optional< IfcAxis2Placement3D* > v2_Position, IfcAxis1Placement* v3_AxisPosition); typedef IfcTemplatedEntityList< IfcSurfaceOfRevolution > list; }; /// The furnishing element type IfcSystemFurnitureElementType defines commonly shared information for occurrences of furniture elements. The set of shared information may include: @@ -27755,10 +26745,8 @@ public: /// 'Panel': Panels such as glass. class IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElementType - bool hasPredefinedType() const; - IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum v); + boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFurnishingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSystemFurnitureElementTypeEnum; } return IfcFurnishingElementType::getArgumentEntity(i); } @@ -27768,7 +26756,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystemFurnitureElementType (IfcAbstractEntity* e); - IfcSystemFurnitureElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType); + IfcSystemFurnitureElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType > list; }; /// An IfcTask is an identifiable unit of work to be @@ -28018,25 +27006,21 @@ public: /// track punch list items individually via IfcRelNests. class IfcTask : public IfcProcess { public: - /// Whether the optional attribute Status is defined for this IfcTask - bool hasStatus() const; /// Current status of the task. /// /// NOTE: Particular values for status are not /// specified, these should be determined and agreed by local /// usage. Examples of possible status values include 'Not Yet /// Started', 'Started', 'Completed'. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute WorkMethod is defined for this IfcTask - bool hasWorkMethod() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// The method of work used in carrying out a task. /// /// NOTE: This attribute should /// not be used if the work method is specified for the /// IfcTaskType - std::string WorkMethod() const; - void setWorkMethod(std::string v); + boost::optional< std::string > WorkMethod() const; + void WorkMethod(boost::optional< std::string > v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). /// @@ -28045,28 +27029,22 @@ public: /// duration. As such, it represents a singular point in /// time. bool IsMilestone() const; - void setIsMilestone(bool v); - /// Whether the optional attribute Priority is defined for this IfcTask - bool hasPriority() const; + void IsMilestone(bool v); /// A value that indicates the relative priority of the task (in /// comparison to the priorities of other tasks). - int Priority() const; - void setPriority(int v); - /// Whether the optional attribute TaskTime is defined for this IfcTask - bool hasTaskTime() const; + boost::optional< int > Priority() const; + void Priority(boost::optional< int > v); /// Time related information for the task. /// /// Added in IFC 2x4 - IfcTaskTime* TaskTime() const; - void setTaskTime(IfcTaskTime* v); - /// Whether the optional attribute PredefinedType is defined for this IfcTask - bool hasPredefinedType() const; + boost::optional< IfcTaskTime* > TaskTime() const; + void TaskTime(boost::optional< IfcTaskTime* > v); /// Identifies the predefined types of a task from which /// the type required may be set. /// /// Added in IFC 2x4 - IfcTaskTypeEnum::IfcTaskTypeEnum PredefinedType() const; - void setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v); + boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_INT; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::UNDEFINED; case 10: return Type::UNDEFINED; case 11: return Type::IfcTaskTime; case 12: return Type::IfcTaskTypeEnum; } return IfcProcess::getArgumentEntity(i); } @@ -28076,7 +27054,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTask (IfcAbstractEntity* e); - IfcTask (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType); + IfcTask (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, boost::optional< IfcTaskTime* > v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType); typedef IfcTemplatedEntityList< IfcTask > list; }; /// An IfcTaskType defines a @@ -28124,12 +27102,10 @@ public: /// Identifies the predefined types of a task type from which /// the type required may be set. IfcTaskTypeEnum::IfcTaskTypeEnum PredefinedType() const; - void setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v); - /// Whether the optional attribute WorkMethod is defined for this IfcTaskType - bool hasWorkMethod() const; + void PredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v); /// The method of work used in carrying out a task. - std::string WorkMethod() const; - void setWorkMethod(std::string v); + boost::optional< std::string > WorkMethod() const; + void WorkMethod(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcTypeProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTaskTypeEnum; case 10: return Type::IfcLabel; } return IfcTypeProcess::getArgumentEntity(i); } @@ -28139,20 +27115,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTaskType (IfcAbstractEntity* e); - IfcTaskType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< std::string > v11_WorkMethod); + IfcTaskType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< std::string > v11_WorkMethod); typedef IfcTemplatedEntityList< IfcTaskType > list; }; class IfcTessellatedFaceSet : public IfcTessellatedItem { public: IfcCartesianPointList3D* Coordinates() const; - void setCoordinates(IfcCartesianPointList3D* v); - /// Whether the optional attribute Normals is defined for this IfcTessellatedFaceSet - bool hasNormals() const; - /// Whether the optional attribute Closed is defined for this IfcTessellatedFaceSet - bool hasClosed() const; - bool Closed() const; - void setClosed(bool v); + void Coordinates(IfcCartesianPointList3D* v); + boost::optional< bool > Closed() const; + void Closed(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_UNKNOWN; case 2: return IfcUtil::Argument_BOOL; } return IfcTessellatedItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList3D; case 1: return Type::IfcParameterValue; case 2: return Type::UNDEFINED; } return IfcTessellatedItem::getArgumentEntity(i); } @@ -28234,7 +27206,7 @@ class IfcTransportElementType : public IfcElementType { public: /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); + void PredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTransportElementTypeEnum; } return IfcElementType::getArgumentEntity(i); } @@ -28244,14 +27216,12 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElementType (IfcAbstractEntity* e); - IfcTransportElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); + IfcTransportElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTransportElementType > list; }; class IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: - /// Whether the optional attribute NormalIndex is defined for this IfcTriangulatedFaceSet - bool hasNormalIndex() const; virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_UNKNOWN; case 4: return IfcUtil::Argument_UNKNOWN; } return IfcTessellatedFaceSet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcTessellatedFaceSet::getArgumentEntity(i); } @@ -28364,74 +27334,50 @@ public: /// All offsets are given as a normalized ratio measure. class IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties - bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - double LiningDepth() const; - void setLiningDepth(double v); - /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties - bool hasLiningThickness() const; + boost::optional< double > LiningDepth() const; + void LiningDepth(boost::optional< double > v); /// Thickness of the window lining (measured parallel to the window elevation plane). - double LiningThickness() const; - void setLiningThickness(double v); - /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties - bool hasTransomThickness() const; + boost::optional< double > LiningThickness() const; + void LiningThickness(boost::optional< double > v); /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - double TransomThickness() const; - void setTransomThickness(double v); - /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties - bool hasMullionThickness() const; + boost::optional< double > TransomThickness() const; + void TransomThickness(boost::optional< double > v); /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - double MullionThickness() const; - void setMullionThickness(double v); - /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties - bool hasFirstTransomOffset() const; + boost::optional< double > MullionThickness() const; + void MullionThickness(boost::optional< double > v); /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - double FirstTransomOffset() const; - void setFirstTransomOffset(double v); - /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties - bool hasSecondTransomOffset() const; + boost::optional< double > FirstTransomOffset() const; + void FirstTransomOffset(boost::optional< double > v); /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - double SecondTransomOffset() const; - void setSecondTransomOffset(double v); - /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties - bool hasFirstMullionOffset() const; + boost::optional< double > SecondTransomOffset() const; + void SecondTransomOffset(boost::optional< double > v); /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - double FirstMullionOffset() const; - void setFirstMullionOffset(double v); - /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties - bool hasSecondMullionOffset() const; + boost::optional< double > FirstMullionOffset() const; + void FirstMullionOffset(boost::optional< double > v); /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - double SecondMullionOffset() const; - void setSecondMullionOffset(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties - bool hasShapeAspectStyle() const; + boost::optional< double > SecondMullionOffset() const; + void SecondMullionOffset(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); - /// Whether the optional attribute LiningOffset is defined for this IfcWindowLiningProperties - bool hasLiningOffset() const; + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); /// Offset of the window lining. The offset is given as distance along the y axis of the local placement (perpendicular to the window plane). /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningOffset() const; - void setLiningOffset(double v); - /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcWindowLiningProperties - bool hasLiningToPanelOffsetX() const; + boost::optional< double > LiningOffset() const; + void LiningOffset(boost::optional< double > v); /// Offset between the lining and the window panel measured along the x-axis of the local placement. Should be smaller or equal to the LiningThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetX() const; - void setLiningToPanelOffsetX(double v); - /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcWindowLiningProperties - bool hasLiningToPanelOffsetY() const; + boost::optional< double > LiningToPanelOffsetX() const; + void LiningToPanelOffsetX(boost::optional< double > v); /// Offset between the lining and the window panel measured along the y-axis of the local placement. Should be smaller or equal to the IfcWindowPanelProperties.PanelThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetY() const; - void setLiningToPanelOffsetY(double v); + boost::optional< double > LiningToPanelOffsetY() const; + void LiningToPanelOffsetY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 16; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcNonNegativeLengthMeasure; case 6: return Type::IfcNonNegativeLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcNormalisedRatioMeasure; case 9: return Type::IfcNormalisedRatioMeasure; case 10: return Type::IfcNormalisedRatioMeasure; case 11: return Type::IfcNormalisedRatioMeasure; case 12: return Type::IfcShapeAspect; case 13: return Type::IfcLengthMeasure; case 14: return Type::IfcLengthMeasure; case 15: return Type::IfcLengthMeasure; } return IfcPreDefinedPropertySet::getArgumentEntity(i); } @@ -28441,7 +27387,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowLiningProperties (IfcAbstractEntity* e); - IfcWindowLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, boost::optional< IfcShapeAspect* > v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY); typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, @@ -28493,27 +27439,21 @@ class IfcWindowPanelProperties : public IfcPreDefinedPropertySet { public: /// Types of window panel operations. Also used to assign standard symbolic presentations according to national building standards. IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum OperationType() const; - void setOperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v); + void OperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v); /// Position of this panel within the overall window style. IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; - void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); - /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties - bool hasFrameDepth() const; + void PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - double FrameDepth() const; - void setFrameDepth(double v); - /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties - bool hasFrameThickness() const; + boost::optional< double > FrameDepth() const; + void FrameDepth(boost::optional< double > v); /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - double FrameThickness() const; - void setFrameThickness(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties - bool hasShapeAspectStyle() const; + boost::optional< double > FrameThickness() const; + void FrameThickness(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcWindowPanelOperationEnum; case 5: return Type::IfcWindowPanelPositionEnum; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcShapeAspect; } return IfcPreDefinedPropertySet::getArgumentEntity(i); } @@ -28523,7 +27463,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowPanelProperties (IfcAbstractEntity* e); - IfcWindowPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcWindowPanelProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcWindowPanelProperties > list; }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. @@ -28545,7 +27485,7 @@ class IfcActor : public IfcObject { public: /// Information about the actor. IfcActorSelect* TheActor() const; - void setTheActor(IfcActorSelect* v); + void TheActor(IfcActorSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcActorSelect; } return IfcObject::getArgumentEntity(i); } @@ -28556,7 +27496,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActor (IfcAbstractEntity* e); - IfcActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor); + IfcActor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor); typedef IfcTemplatedEntityList< IfcActor > list; }; /// An advanced B-rep is a boundary @@ -28630,7 +27570,7 @@ public: class IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; - void setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); + void Voids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcAdvancedBrep::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcClosedShell; } return IfcAdvancedBrep::getArgumentEntity(i); } @@ -28828,7 +27768,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotation (IfcAbstractEntity* e); - IfcAnnotation (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcAnnotation (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcAnnotation > list; }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. @@ -28904,25 +27844,25 @@ class IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. int UDegree() const; - void setUDegree(int v); + void UDegree(int v); /// Algebraic degree of basis functions in v. int VDegree() const; - void setVDegree(int v); + void VDegree(int v); /// This is a list of lists of control points. IfcTemplatedEntityListList< IfcCartesianPoint >::ptr ControlPointsList() const; - void setControlPointsList(IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v); + void ControlPointsList(IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v); /// Indicator of special surface types. IfcBSplineSurfaceForm::IfcBSplineSurfaceForm SurfaceForm() const; - void setSurfaceForm(IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v); + void SurfaceForm(IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v); /// Indication of whether the surface is closed in the u direction; this is for information only. bool UClosed() const; - void setUClosed(bool v); + void UClosed(bool v); /// Indication of whether the surface is closed in the v direction; this is for information only. bool VClosed() const; - void setVClosed(bool v); + void VClosed(bool v); /// Flag to indicate whether, or not, surface is self-intersecting; this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_ENTITY_LIST_LIST; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcBSplineSurfaceForm; case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } @@ -28946,19 +27886,19 @@ class IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. std::vector< int > /*[2:?]*/ UMultiplicities() const; - void setUMultiplicities(std::vector< int > /*[2:?]*/ v); + void UMultiplicities(std::vector< int > /*[2:?]*/ v); /// The multiplicities of the knots in the v parameter direction. std::vector< int > /*[2:?]*/ VMultiplicities() const; - void setVMultiplicities(std::vector< int > /*[2:?]*/ v); + void VMultiplicities(std::vector< int > /*[2:?]*/ v); /// The list of the distinct knots in the u parameter direction. std::vector< double > /*[2:?]*/ UKnots() const; - void setUKnots(std::vector< double > /*[2:?]*/ v); + void UKnots(std::vector< double > /*[2:?]*/ v); /// The list of the distinct knots in the v parameter direction. std::vector< double > /*[2:?]*/ VKnots() const; - void setVKnots(std::vector< double > /*[2:?]*/ v); + void VKnots(std::vector< double > /*[2:?]*/ v); /// The description of the knot type. IfcKnotType::IfcKnotType KnotSpec() const; - void setKnotSpec(IfcKnotType::IfcKnotType v); + void KnotSpec(IfcKnotType::IfcKnotType v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_VECTOR_INT; case 8: return IfcUtil::Argument_VECTOR_INT; case 9: return IfcUtil::Argument_VECTOR_DOUBLE; case 10: return IfcUtil::Argument_VECTOR_DOUBLE; case 11: return IfcUtil::Argument_ENUMERATION; } return IfcBSplineSurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcParameterValue; case 10: return Type::IfcParameterValue; case 11: return Type::IfcKnotType; } return IfcBSplineSurface::getArgumentEntity(i); } @@ -29072,13 +28012,13 @@ class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. double XLength() const; - void setXLength(double v); + void XLength(double v); /// The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. double YLength() const; - void setYLength(double v); + void YLength(double v); /// The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. double ZLength() const; - void setZLength(double v); + void ZLength(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; case 3: return Type::IfcPositiveLengthMeasure; } return IfcCsgPrimitive3D::getArgumentEntity(i); } @@ -29313,21 +28253,15 @@ public: /// constituting elements. class IfcBuilding : public IfcSpatialStructureElement { public: - /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding - bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - double ElevationOfRefHeight() const; - void setElevationOfRefHeight(double v); - /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding - bool hasElevationOfTerrain() const; + boost::optional< double > ElevationOfRefHeight() const; + void ElevationOfRefHeight(boost::optional< double > v); /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - double ElevationOfTerrain() const; - void setElevationOfTerrain(double v); - /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding - bool hasBuildingAddress() const; + boost::optional< double > ElevationOfTerrain() const; + void ElevationOfTerrain(boost::optional< double > v); /// Address given to the building for postal purposes. - IfcPostalAddress* BuildingAddress() const; - void setBuildingAddress(IfcPostalAddress* v); + boost::optional< IfcPostalAddress* > BuildingAddress() const; + void BuildingAddress(boost::optional< IfcPostalAddress* > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_ENTITY; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLengthMeasure; case 10: return Type::IfcLengthMeasure; case 11: return Type::IfcPostalAddress; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -29337,7 +28271,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuilding (IfcAbstractEntity* e); - IfcBuilding (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); + IfcBuilding (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, boost::optional< IfcPostalAddress* > v12_BuildingAddress); typedef IfcTemplatedEntityList< IfcBuilding > list; }; /// Definition from IAI: The element type @@ -29380,7 +28314,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementType (IfcAbstractEntity* e); - IfcBuildingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcBuildingElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcBuildingElementType > list; }; /// The building storey has an @@ -29562,11 +28496,9 @@ public: /// independently from its constituting elements. class IfcBuildingStorey : public IfcSpatialStructureElement { public: - /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey - bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - double Elevation() const; - void setElevation(double v); + boost::optional< double > Elevation() const; + void Elevation(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLengthMeasure; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -29576,7 +28508,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingStorey (IfcAbstractEntity* e); - IfcBuildingStorey (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_Elevation); + IfcBuildingStorey (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_Elevation); typedef IfcTemplatedEntityList< IfcBuildingStorey > list; }; /// Definition from IAI: The IfcChimneyType @@ -29608,7 +28540,7 @@ class IfcChimneyType : public IfcBuildingElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. IfcChimneyTypeEnum::IfcChimneyTypeEnum PredefinedType() const; - void setPredefinedType(IfcChimneyTypeEnum::IfcChimneyTypeEnum v); + void PredefinedType(IfcChimneyTypeEnum::IfcChimneyTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcChimneyTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -29618,7 +28550,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChimneyType (IfcAbstractEntity* e); - IfcChimneyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType); + IfcChimneyType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcChimneyType > list; }; /// IfcCircleHollowProfileDef @@ -29643,7 +28575,7 @@ class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. double WallThickness() const; - void setWallThickness(double v); + void WallThickness(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCircleProfileDef::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; } return IfcCircleProfileDef::getArgumentEntity(i); } @@ -29653,7 +28585,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircleHollowProfileDef (IfcAbstractEntity* e); - IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness); + IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, boost::optional< IfcAxis2Placement2D* > v3_Position, double v4_Radius, double v5_WallThickness); typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; }; @@ -29668,7 +28600,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCivilElementType (IfcAbstractEntity* e); - IfcCivilElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcCivilElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcCivilElementType > list; }; /// Definition from IAI: The element type @@ -29773,7 +28705,7 @@ class IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; - void setPredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v); + void PredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcColumnTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -29783,7 +28715,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumnType (IfcAbstractEntity* e); - IfcColumnType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); + IfcColumnType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcColumnType > list; }; /// The IfcComplexPropertyTemplate defines the template for @@ -29796,19 +28728,13 @@ public: /// HISTORY  New entity in IFC2x4. class IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: - /// Whether the optional attribute UsageName is defined for this IfcComplexPropertyTemplate - bool hasUsageName() const; - std::string UsageName() const; - void setUsageName(std::string v); - /// Whether the optional attribute TemplateType is defined for this IfcComplexPropertyTemplate - bool hasTemplateType() const; - IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum TemplateType() const; - void setTemplateType(IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum v); - /// Whether the optional attribute HasPropertyTemplates is defined for this IfcComplexPropertyTemplate - bool hasHasPropertyTemplates() const; + boost::optional< std::string > UsageName() const; + void UsageName(boost::optional< std::string > v); + boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > TemplateType() const; + void TemplateType(boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v); /// Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. - IfcTemplatedEntityList< IfcPropertyTemplate >::ptr HasPropertyTemplates() const; - void setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > HasPropertyTemplates() const; + void HasPropertyTemplates(boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY_LIST; } return IfcPropertyTemplate::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLabel; case 5: return Type::IfcComplexPropertyTemplateTypeEnum; case 6: return Type::IfcPropertyTemplate; } return IfcPropertyTemplate::getArgumentEntity(i); } @@ -29818,7 +28744,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcComplexPropertyTemplate (IfcAbstractEntity* e); - IfcComplexPropertyTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); typedef IfcTemplatedEntityList< IfcComplexPropertyTemplate > list; }; /// Definition from ISO/CD 10303-42:1992: A composite @@ -29891,10 +28817,10 @@ class IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr Segments() const; - void setSegments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v); + void Segments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v); /// Indication of whether the curve intersects itself or not; this is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurveSegment; case 1: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -29941,7 +28867,7 @@ class IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." IfcAxis2Placement* Position() const; - void setPosition(IfcAxis2Placement* v); + void Position(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcAxis2Placement; } return IfcCurve::getArgumentEntity(i); } @@ -29971,7 +28897,7 @@ class IfcConstructionEquipmentResourceType : public IfcConstructionResourceType public: /// Defines types of construction equipment resources. IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v); + void PredefinedType(IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResourceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcConstructionEquipmentResourceTypeEnum; } return IfcConstructionResourceType::getArgumentEntity(i); } @@ -29981,7 +28907,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionEquipmentResourceType (IfcAbstractEntity* e); - IfcConstructionEquipmentResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType); + IfcConstructionEquipmentResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionEquipmentResourceType > list; }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: @@ -30001,7 +28927,7 @@ class IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v); + void PredefinedType(IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResourceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcConstructionMaterialResourceTypeEnum; } return IfcConstructionResourceType::getArgumentEntity(i); } @@ -30011,7 +28937,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionMaterialResourceType (IfcAbstractEntity* e); - IfcConstructionMaterialResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType); + IfcConstructionMaterialResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionMaterialResourceType > list; }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: @@ -30031,7 +28957,7 @@ class IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v); + void PredefinedType(IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 11: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResourceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 11: return Type::IfcConstructionProductResourceTypeEnum; } return IfcConstructionResourceType::getArgumentEntity(i); } @@ -30041,7 +28967,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionProductResourceType (IfcAbstractEntity* e); - IfcConstructionProductResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType); + IfcConstructionProductResourceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, boost::optional< IfcPhysicalQuantity* > v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionProductResourceType > list; }; /// IfcConstructionResource is an abstract generalization of the different resources used in @@ -30118,18 +29044,12 @@ public: /// Figure 192 — Construction resource baseline use class IfcConstructionResource : public IfcResource { public: - /// Whether the optional attribute Usage is defined for this IfcConstructionResource - bool hasUsage() const; - IfcResourceTime* Usage() const; - void setUsage(IfcResourceTime* v); - /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResource - bool hasBaseCosts() const; - IfcTemplatedEntityList< IfcAppliedValue >::ptr BaseCosts() const; - void setBaseCosts(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); - /// Whether the optional attribute BaseQuantity is defined for this IfcConstructionResource - bool hasBaseQuantity() const; - IfcPhysicalQuantity* BaseQuantity() const; - void setBaseQuantity(IfcPhysicalQuantity* v); + boost::optional< IfcResourceTime* > Usage() const; + void Usage(boost::optional< IfcResourceTime* > v); + boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > BaseCosts() const; + void BaseCosts(boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v); + boost::optional< IfcPhysicalQuantity* > BaseQuantity() const; + void BaseQuantity(boost::optional< IfcPhysicalQuantity* > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY_LIST; case 9: return IfcUtil::Argument_ENTITY; } return IfcResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcResourceTime; case 8: return Type::IfcAppliedValue; case 9: return Type::IfcPhysicalQuantity; } return IfcResource::getArgumentEntity(i); } @@ -30139,7 +29059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionResource (IfcAbstractEntity* e); - IfcConstructionResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity); + IfcConstructionResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionResource > list; }; /// IfcControl is the abstract generalization of all concepts that control or constrain the utilization of products, processes, or resources in general. It can be seen as a regulation, cost schedule, request or order, or other requirements applied to a product, process or resource whose requirements and provisions must be fulfilled. @@ -30154,14 +29074,12 @@ public: /// Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl. class IfcControl : public IfcObject { public: - /// Whether the optional attribute Identification is defined for this IfcControl - bool hasIdentification() const; /// An identifying designation given to a control /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute unified by promoting from various subtypes of IfcControl. - std::string Identification() const; - void setIdentification(std::string v); + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; } return IfcObject::getArgumentEntity(i); } @@ -30172,7 +29090,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcControl (IfcAbstractEntity* e); - IfcControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification); + IfcControl (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification); typedef IfcTemplatedEntityList< IfcControl > list; }; /// An IfcCostItem describes a cost or financial value together with descriptive information that describes its context in a form that enables it to be used within a cost schedule. An IfcCostItem can be used to represent the cost of goods and services, the execution of works by a process, lifecycle cost and more. @@ -30213,15 +29131,11 @@ public: /// Figure 168 — Cost assignment class IfcCostItem : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCostItem - bool hasPredefinedType() const; /// Predefined generic type for a cost item that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been added. - IfcCostItemTypeEnum::IfcCostItemTypeEnum PredefinedType() const; - void setPredefinedType(IfcCostItemTypeEnum::IfcCostItemTypeEnum v); - /// Whether the optional attribute CostValues is defined for this IfcCostItem - bool hasCostValues() const; + boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v); /// Component costs for which the total cost for the cost item is calculated, and then multiplied by the total CostQuantities if provided. /// /// If CostQuantities is provided then values indicate unit costs, otherwise values indicate total costs. @@ -30229,15 +29143,13 @@ public: /// For calculation purposes, the cost values may be directly added unless they have qualifications. Cost values with qualifications (e.g. IfcCostValue.ApplicableDate, IfcCostValue.FixedUntilDate) should be excluded from such calculation if they do not apply. /// /// IFC2x4 CHANGE The attribute has been added. - IfcTemplatedEntityList< IfcCostValue >::ptr CostValues() const; - void setCostValues(IfcTemplatedEntityList< IfcCostValue >::ptr v); - /// Whether the optional attribute CostQuantities is defined for this IfcCostItem - bool hasCostQuantities() const; + boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > CostValues() const; + void CostValues(boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v); /// Component quantities of the same type for which the total quantity for the cost item is calculated as the sum. /// /// IFC2x4 CHANGE The attribute has been added. - IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr CostQuantities() const; - void setCostQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); + boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > CostQuantities() const; + void CostQuantities(boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY_LIST; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcCostItemTypeEnum; case 7: return Type::IfcCostValue; case 8: return Type::IfcPhysicalQuantity; } return IfcControl::getArgumentEntity(i); } @@ -30247,7 +29159,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostItem (IfcAbstractEntity* e); - IfcCostItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities); + IfcCostItem (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities); typedef IfcTemplatedEntityList< IfcCostItem > list; }; /// An IfcCostSchedule brings together instances of IfcCostItem either for the purpose of identifying purely cost information as in an estimate for constructions costs or for including cost information within another presentation form such as a work order. @@ -30275,15 +29187,11 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcCostSchedule : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCostSchedule - bool hasPredefinedType() const; /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. - IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum PredefinedType() const; - void setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v); - /// Whether the optional attribute Status is defined for this IfcCostSchedule - bool hasStatus() const; + boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v); /// The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: /// /// PLANNED @@ -30291,22 +29199,18 @@ public: /// AGREED /// ISSUED /// STARTED - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule - bool hasSubmittedOn() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string SubmittedOn() const; - void setSubmittedOn(std::string v); - /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule - bool hasUpdateDate() const; + boost::optional< std::string > SubmittedOn() const; + void SubmittedOn(boost::optional< std::string > v); /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string UpdateDate() const; - void setUpdateDate(std::string v); + boost::optional< std::string > UpdateDate() const; + void UpdateDate(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcCostScheduleTypeEnum; case 7: return Type::IfcLabel; case 8: return Type::IfcDateTime; case 9: return Type::IfcDateTime; } return IfcControl::getArgumentEntity(i); } @@ -30316,7 +29220,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostSchedule (IfcAbstractEntity* e); - IfcCostSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate); + IfcCostSchedule (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate); typedef IfcTemplatedEntityList< IfcCostSchedule > list; }; /// Definition from IAI: The element type @@ -30402,7 +29306,7 @@ class IfcCoveringType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v); + void PredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCoveringTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -30412,7 +29316,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoveringType (IfcAbstractEntity* e); - IfcCoveringType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); + IfcCoveringType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoveringType > list; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. @@ -30427,12 +29331,10 @@ public: /// IfcCrewResource defines the occurrence of any crew resource; common information about crew resource types is handled by IfcCrewResourceType. The IfcCrewResourceType (if present) may establish the common type name, common properties, and common productivities for various task types using IfcRelAssignsToProcess. The IfcCrewResourceType is attached using the IfcRelDefinesByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute. class IfcCrewResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCrewResource - bool hasPredefinedType() const; /// Defines types of crew resources. /// IFC2x4 New attribute - IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v); + boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcCrewResourceTypeEnum; } return IfcConstructionResource::getArgumentEntity(i); } @@ -30442,7 +29344,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCrewResource (IfcAbstractEntity* e); - IfcCrewResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType); + IfcCrewResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) @@ -30470,7 +29372,7 @@ class IfcCurtainWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a curtain wall element from which the type required may be set. IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; - void setPredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v); + void PredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCurtainWallTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -30480,7 +29382,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWallType (IfcAbstractEntity* e); - IfcCurtainWallType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); + IfcCurtainWallType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCurtainWallType > list; }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: @@ -30541,7 +29443,7 @@ class IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcElementarySurface::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; } return IfcElementarySurface::getArgumentEntity(i); } @@ -30593,7 +29495,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElementType (IfcAbstractEntity* e); - IfcDistributionElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcDistributionElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionElementType > list; }; /// The element type IfcDistributionFlowElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). @@ -30672,7 +29574,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElementType (IfcAbstractEntity* e); - IfcDistributionFlowElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcDistributionFlowElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; }; /// The door lining is the frame which @@ -30772,77 +29674,51 @@ public: /// NOTE LiningDepth describes the length of the lining along the reveal of the door opening. It can be given by an absolute value if the door lining has a specific depth depending on the door style. However often it is equal to the wall thickness. If the same door style is used (like the same type of single swing door), but inserted into different walls with different thicknesses, it would be necessary to create a special door style for each wall thickness. Therefore several CAD systems allow to set the value to "automatically aligned" to wall thickness. This should be exchanged by leaving the optional attribute LiningDepth unassigned. The same agreement applies to ThresholdDepth. class IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties - bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - double LiningDepth() const; - void setLiningDepth(double v); - /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties - bool hasLiningThickness() const; + boost::optional< double > LiningDepth() const; + void LiningDepth(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the door lining. - double LiningThickness() const; - void setLiningThickness(double v); - /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties - bool hasThresholdDepth() const; + boost::optional< double > LiningThickness() const; + void LiningThickness(boost::optional< double > v); /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - double ThresholdDepth() const; - void setThresholdDepth(double v); - /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties - bool hasThresholdThickness() const; + boost::optional< double > ThresholdDepth() const; + void ThresholdDepth(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - double ThresholdThickness() const; - void setThresholdThickness(double v); - /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties - bool hasTransomThickness() const; + boost::optional< double > ThresholdThickness() const; + void ThresholdThickness(boost::optional< double > v); /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - double TransomThickness() const; - void setTransomThickness(double v); - /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties - bool hasTransomOffset() const; + boost::optional< double > TransomThickness() const; + void TransomThickness(boost::optional< double > v); /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - double TransomOffset() const; - void setTransomOffset(double v); - /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties - bool hasLiningOffset() const; + boost::optional< double > TransomOffset() const; + void TransomOffset(boost::optional< double > v); /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - double LiningOffset() const; - void setLiningOffset(double v); - /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties - bool hasThresholdOffset() const; + boost::optional< double > LiningOffset() const; + void LiningOffset(boost::optional< double > v); /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - double ThresholdOffset() const; - void setThresholdOffset(double v); - /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties - bool hasCasingThickness() const; + boost::optional< double > ThresholdOffset() const; + void ThresholdOffset(boost::optional< double > v); /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - double CasingThickness() const; - void setCasingThickness(double v); - /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties - bool hasCasingDepth() const; + boost::optional< double > CasingThickness() const; + void CasingThickness(boost::optional< double > v); /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - double CasingDepth() const; - void setCasingDepth(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties - bool hasShapeAspectStyle() const; + boost::optional< double > CasingDepth() const; + void CasingDepth(boost::optional< double > v); /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); - /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcDoorLiningProperties - bool hasLiningToPanelOffsetX() const; + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); /// Offset between the lining and the window panel measured along the x-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetX() const; - void setLiningToPanelOffsetX(double v); - /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcDoorLiningProperties - bool hasLiningToPanelOffsetY() const; + boost::optional< double > LiningToPanelOffsetX() const; + void LiningToPanelOffsetX(boost::optional< double > v); /// Offset between the lining and the door panel measured along the y-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - double LiningToPanelOffsetY() const; - void setLiningToPanelOffsetY(double v); + boost::optional< double > LiningToPanelOffsetY() const; + void LiningToPanelOffsetY(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcNonNegativeLengthMeasure; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcNonNegativeLengthMeasure; case 8: return Type::IfcNonNegativeLengthMeasure; case 9: return Type::IfcLengthMeasure; case 10: return Type::IfcLengthMeasure; case 11: return Type::IfcLengthMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcPositiveLengthMeasure; case 14: return Type::IfcShapeAspect; case 15: return Type::IfcLengthMeasure; case 16: return Type::IfcLengthMeasure; } return IfcPreDefinedPropertySet::getArgumentEntity(i); } @@ -30852,7 +29728,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorLiningProperties (IfcAbstractEntity* e); - IfcDoorLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, boost::optional< IfcShapeAspect* > v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY); typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or @@ -30902,29 +29778,23 @@ public: /// Figure 173 — Door panel properties class IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: - /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties - bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - double PanelDepth() const; - void setPanelDepth(double v); + boost::optional< double > PanelDepth() const; + void PanelDepth(boost::optional< double > v); /// The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum PanelOperation() const; - void setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); - /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties - bool hasPanelWidth() const; + void PanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - double PanelWidth() const; - void setPanelWidth(double v); + boost::optional< double > PanelWidth() const; + void PanelWidth(boost::optional< double > v); /// Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum PanelPosition() const; - void setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorPanelProperties - bool hasShapeAspectStyle() const; + void PanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENTITY; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPositiveLengthMeasure; case 5: return Type::IfcDoorPanelOperationEnum; case 6: return Type::IfcNormalisedRatioMeasure; case 7: return Type::IfcDoorPanelPositionEnum; case 8: return Type::IfcShapeAspect; } return IfcPreDefinedPropertySet::getArgumentEntity(i); } @@ -30934,7 +29804,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorPanelProperties (IfcAbstractEntity* e); - IfcDoorPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); + IfcDoorPanelProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcDoorPanelProperties > list; }; /// Definition from IAI: The element type @@ -31069,18 +29939,14 @@ class IfcDoorType : public IfcBuildingElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. IfcDoorTypeEnum::IfcDoorTypeEnum PredefinedType() const; - void setPredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v); + void PredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v); /// Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations. IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum OperationType() const; - void setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v); - /// Whether the optional attribute ParameterTakesPrecedence is defined for this IfcDoorType - bool hasParameterTakesPrecedence() const; - bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); - /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoorType - bool hasUserDefinedOperationType() const; - std::string UserDefinedOperationType() const; - void setUserDefinedOperationType(std::string v); + void OperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v); + boost::optional< bool > ParameterTakesPrecedence() const; + void ParameterTakesPrecedence(boost::optional< bool > v); + boost::optional< std::string > UserDefinedOperationType() const; + void UserDefinedOperationType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDoorTypeEnum; case 10: return Type::IfcDoorTypeOperationEnum; case 11: return Type::UNDEFINED; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -31090,7 +29956,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorType (IfcAbstractEntity* e); - IfcDoorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType); + IfcDoorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType); typedef IfcTemplatedEntityList< IfcDoorType > list; }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: @@ -31261,11 +30127,9 @@ public: /// IfcElement. class IfcElement : public IfcProduct { public: - /// Whether the optional attribute Tag is defined for this IfcElement - bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - std::string Tag() const; - void setTag(std::string v); + boost::optional< std::string > Tag() const; + void Tag(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcIdentifier; } return IfcProduct::getArgumentEntity(i); } @@ -31286,7 +30150,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElement (IfcAbstractEntity* e); - IfcElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElement > list; }; /// The IfcElementAssembly @@ -31385,18 +30249,14 @@ public: /// IsDecomposedBy relationship shall be utilzed. class IfcElementAssembly : public IfcElement { public: - /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly - bool hasAssemblyPlace() const; /// A designation of where the assembly is intended to take place defined by an Enum. - IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; - void setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); - /// Whether the optional attribute PredefinedType is defined for this IfcElementAssembly - bool hasPredefinedType() const; + boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > AssemblyPlace() const; + void AssemblyPlace(boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v); /// Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. - IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; - void setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v); + boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAssemblyPlaceEnum; case 9: return Type::IfcElementAssemblyTypeEnum; } return IfcElement::getArgumentEntity(i); } @@ -31406,7 +30266,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementAssembly (IfcAbstractEntity* e); - IfcElementAssembly (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType); + IfcElementAssembly (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElementAssembly > list; }; /// Definition from IAI: The IfcElementAssemblyType @@ -31435,7 +30295,7 @@ class IfcElementAssemblyType : public IfcElementType { public: /// Predefined types to define the particular type of the transport element. There may be property set definitions available for each predefined type. IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; - void setPredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v); + void PredefinedType(IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElementAssemblyTypeEnum; } return IfcElementType::getArgumentEntity(i); } @@ -31445,7 +30305,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementAssemblyType (IfcAbstractEntity* e); - IfcElementAssemblyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); + IfcElementAssemblyType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElementAssemblyType > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between @@ -31536,7 +30396,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponent (IfcAbstractEntity* e); - IfcElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcElementComponent (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElementComponent > list; }; /// Definition from IAI: @@ -31559,7 +30419,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponentType (IfcAbstractEntity* e); - IfcElementComponentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcElementComponentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcElementComponentType > list; }; /// Definition from ISO/CD 10303-42:1992: An ellipse (IfcEllipse) is a conic section defined by the lengths of the semi-major and semi-minor diameters and the position (center or mid point of the line joining the foci) and orientation of the curve. Interpretation of the data shall be as follows: @@ -31593,10 +30453,10 @@ class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. double SemiAxis1() const; - void setSemiAxis1(double v); + void SemiAxis1(double v); /// The second radius of the ellipse which shall be positive. double SemiAxis2() const; - void setSemiAxis2(double v); + void SemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; case 2: return Type::IfcPositiveLengthMeasure; } return IfcConic::getArgumentEntity(i); } @@ -31645,7 +30505,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDeviceType (IfcAbstractEntity* e); - IfcEnergyConversionDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcEnergyConversionDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType > list; }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: @@ -31677,7 +30537,7 @@ public: class IfcEngineType : public IfcEnergyConversionDeviceType { public: IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType() const; - void setPredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v); + void PredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcEngineTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -31687,7 +30547,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEngineType (IfcAbstractEntity* e); - IfcEngineType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType); + IfcEngineType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEngineType > list; }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: @@ -31720,7 +30580,7 @@ class IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; - void setPredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v); + void PredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcEvaporativeCoolerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -31730,7 +30590,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporativeCoolerType (IfcAbstractEntity* e); - IfcEvaporativeCoolerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); + IfcEvaporativeCoolerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType > list; }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: @@ -31763,7 +30623,7 @@ class IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v); + void PredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcEvaporatorTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -31773,7 +30633,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporatorType (IfcAbstractEntity* e); - IfcEvaporatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); + IfcEvaporatorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporatorType > list; }; /// An IfcEvent is something @@ -31855,30 +30715,22 @@ public: /// using IfcRelAssignsToProduct. class IfcEvent : public IfcProcess { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEvent - bool hasPredefinedType() const; /// Identifies the predefined types of an event from which /// the type required may be set. - IfcEventTypeEnum::IfcEventTypeEnum PredefinedType() const; - void setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v); - /// Whether the optional attribute EventTriggerType is defined for this IfcEvent - bool hasEventTriggerType() const; + boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v); /// Identifies the predefined types of event trigger from which /// the type required may be set. - IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum EventTriggerType() const; - void setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v); - /// Whether the optional attribute UserDefinedEventTriggerType is defined for this IfcEvent - bool hasUserDefinedEventTriggerType() const; + boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > EventTriggerType() const; + void EventTriggerType(boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v); /// A user defined event trigger type, the value of which is /// asserted when the value of an event trigger type is declared /// as USERDEFINED. - std::string UserDefinedEventTriggerType() const; - void setUserDefinedEventTriggerType(std::string v); - /// Whether the optional attribute EventOccurenceTime is defined for this IfcEvent - bool hasEventOccurenceTime() const; + boost::optional< std::string > UserDefinedEventTriggerType() const; + void UserDefinedEventTriggerType(boost::optional< std::string > v); /// The date and/or time at which an event occurs. - IfcEventTime* EventOccurenceTime() const; - void setEventOccurenceTime(IfcEventTime* v); + boost::optional< IfcEventTime* > EventOccurenceTime() const; + void EventOccurenceTime(boost::optional< IfcEventTime* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_ENTITY; } return IfcProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcEventTypeEnum; case 8: return Type::IfcEventTriggerTypeEnum; case 9: return Type::IfcLabel; case 10: return Type::IfcEventTime; } return IfcProcess::getArgumentEntity(i); } @@ -31888,7 +30740,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvent (IfcAbstractEntity* e); - IfcEvent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime); + IfcEvent (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, boost::optional< IfcEventTime* > v11_EventOccurenceTime); typedef IfcTemplatedEntityList< IfcEvent > list; }; /// Definition from IAI: The external spatial structure @@ -31907,7 +30759,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalSpatialStructureElement (IfcAbstractEntity* e); - IfcExternalSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName); + IfcExternalSpatialStructureElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName); typedef IfcTemplatedEntityList< IfcExternalSpatialStructureElement > list; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep @@ -31976,7 +30828,7 @@ class IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; - void setVoids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); + void Voids(IfcTemplatedEntityList< IfcClosedShell >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcFacetedBrep::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcClosedShell; } return IfcFacetedBrep::getArgumentEntity(i); } @@ -31999,11 +30851,9 @@ public: /// Attribute PredefinedType added. class IfcFastener : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFastener - bool hasPredefinedType() const; /// Subtype of fastener - IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType() const; - void setPredefinedType(IfcFastenerTypeEnum::IfcFastenerTypeEnum v); + boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFastenerTypeEnum; } return IfcElementComponent::getArgumentEntity(i); } @@ -32013,7 +30863,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastener (IfcAbstractEntity* e); - IfcFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType); + IfcFastener (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFastener > list; }; /// Definition from IAI: @@ -32043,7 +30893,7 @@ class IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType() const; - void setPredefinedType(IfcFastenerTypeEnum::IfcFastenerTypeEnum v); + void PredefinedType(IfcFastenerTypeEnum::IfcFastenerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFastenerTypeEnum; } return IfcElementComponentType::getArgumentEntity(i); } @@ -32053,7 +30903,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastenerType (IfcAbstractEntity* e); - IfcFastenerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType); + IfcFastenerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFastenerType > list; }; /// Definition from IAI: Generalization of all existence @@ -32161,7 +31011,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElement (IfcAbstractEntity* e); - IfcFeatureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFeatureElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general @@ -32231,7 +31081,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementAddition (IfcAbstractEntity* e); - IfcFeatureElementAddition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFeatureElementAddition (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of @@ -32296,7 +31146,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementSubtraction (IfcAbstractEntity* e); - IfcFeatureElementSubtraction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFeatureElementSubtraction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property @@ -32334,7 +31184,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowControllerType (IfcAbstractEntity* e); - IfcFlowControllerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowControllerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowControllerType > list; }; /// The element type IfcFlowFittingType defines a list of commonly shared property @@ -32373,7 +31223,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFittingType (IfcAbstractEntity* e); - IfcFlowFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowFittingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowFittingType > list; }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: @@ -32412,7 +31262,7 @@ class IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; - void setPredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v); + void PredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFlowMeterTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -32422,7 +31272,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMeterType (IfcAbstractEntity* e); - IfcFlowMeterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); + IfcFlowMeterType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowMeterType > list; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property @@ -32459,7 +31309,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDeviceType (IfcAbstractEntity* e); - IfcFlowMovingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowMovingDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType > list; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property @@ -32505,7 +31355,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegmentType (IfcAbstractEntity* e); - IfcFlowSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowSegmentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowSegmentType > list; }; /// The element type IfcFlowStorageDeviceType defines a list of commonly shared property set definitions of a flow storage device and an optional set of product representations. It is used to define a flow storage device specification (the specific product information that is common to all occurrences of that product type). @@ -32526,7 +31376,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDeviceType (IfcAbstractEntity* e); - IfcFlowStorageDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowStorageDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType > list; }; /// The element type IfcFlowTerminalType defines a list of commonly shared property set definitions of a flow terminal and an optional set of product representations. It is used to define a flow terminal specification (the specific product information that is common to all occurrences of that product type). @@ -32547,7 +31397,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminalType (IfcAbstractEntity* e); - IfcFlowTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowTerminalType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowTerminalType > list; }; /// The element type IfcFlowTreatmentDeviceType defines a list of commonly shared property set definitions of a flow treatment device and an optional set of product representations. It is used to define a flow treatment device specification (the specific product information that is common to all occurrences of that product type). @@ -32570,7 +31420,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDeviceType (IfcAbstractEntity* e); - IfcFlowTreatmentDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcFlowTreatmentDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. @@ -32586,7 +31436,7 @@ class IfcFootingType : public IfcBuildingElementType { public: /// Subtype of footing. IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; - void setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v); + void PredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFootingTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -32596,7 +31446,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFootingType (IfcAbstractEntity* e); - IfcFootingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType); + IfcFootingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFootingType > list; }; /// Definition from IAI: Generalization of all furniture @@ -32714,7 +31564,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElement (IfcAbstractEntity* e); - IfcFurnishingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFurnishingElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFurnishingElement > list; }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. @@ -32750,10 +31600,8 @@ public: /// (All Types): May contain IfcSystemFurnitureElement components. Modular furniture may be aggregated into components. class IfcFurniture : public IfcFurnishingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFurniture - bool hasPredefinedType() const; - IfcFurnitureTypeEnum::IfcFurnitureTypeEnum PredefinedType() const; - void setPredefinedType(IfcFurnitureTypeEnum::IfcFurnitureTypeEnum v); + boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFurnishingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFurnitureTypeEnum; } return IfcFurnishingElement::getArgumentEntity(i); } @@ -32763,7 +31611,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurniture (IfcAbstractEntity* e); - IfcFurniture (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType); + IfcFurniture (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFurniture > list; }; /// Definition from IAI: An IfcGeographicElement is @@ -32908,11 +31756,9 @@ public: /// RepresentationType :ÿ'MappedRepresentation' class IfcGeographicElement : public IfcElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcGeographicElement - bool hasPredefinedType() const; /// Predefined generic types for a geographic element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. - IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v); + boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcGeographicElementTypeEnum; } return IfcElement::getArgumentEntity(i); } @@ -32922,7 +31768,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeographicElement (IfcAbstractEntity* e); - IfcGeographicElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType); + IfcGeographicElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcGeographicElement > list; }; /// IfcGrid ia a planar design @@ -33025,19 +31871,15 @@ class IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. IfcTemplatedEntityList< IfcGridAxis >::ptr UAxes() const; - void setUAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); + void UAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// List of grid axes defining the second row of grid lines. IfcTemplatedEntityList< IfcGridAxis >::ptr VAxes() const; - void setVAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); - /// Whether the optional attribute WAxes is defined for this IfcGrid - bool hasWAxes() const; + void VAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid. - IfcTemplatedEntityList< IfcGridAxis >::ptr WAxes() const; - void setWAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); - /// Whether the optional attribute PredefinedType is defined for this IfcGrid - bool hasPredefinedType() const; - IfcGridTypeEnum::IfcGridTypeEnum PredefinedType() const; - void setPredefinedType(IfcGridTypeEnum::IfcGridTypeEnum v); + boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > WAxes() const; + void WAxes(boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v); + boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY_LIST; case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcProduct::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcGridAxis; case 8: return Type::IfcGridAxis; case 9: return Type::IfcGridAxis; case 10: return Type::IfcGridTypeEnum; } return IfcProduct::getArgumentEntity(i); } @@ -33048,7 +31890,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGrid (IfcAbstractEntity* e); - IfcGrid (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType); + IfcGrid (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcGrid > list; }; /// IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects. @@ -33093,7 +31935,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGroup (IfcAbstractEntity* e); - IfcGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); + IfcGroup (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcGroup > list; }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: @@ -33129,7 +31971,7 @@ class IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; - void setPredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v); + void PredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcHeatExchangerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -33139,7 +31981,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHeatExchangerType (IfcAbstractEntity* e); - IfcHeatExchangerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); + IfcHeatExchangerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHeatExchangerType > list; }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: @@ -33172,7 +32014,7 @@ class IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; - void setPredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v); + void PredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcHumidifierTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -33182,7 +32024,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHumidifierType (IfcAbstractEntity* e); - IfcHumidifierType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); + IfcHumidifierType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -33221,7 +32063,7 @@ public: class IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType() const; - void setPredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v); + void PredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcInterceptorTypeEnum; } return IfcFlowTreatmentDeviceType::getArgumentEntity(i); } @@ -33231,7 +32073,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInterceptorType (IfcAbstractEntity* e); - IfcInterceptorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); + IfcInterceptorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcInterceptorType > list; }; /// An inventory is a list of items within an enterprise. @@ -33247,40 +32089,28 @@ public: /// IfcSpace: Spaces included in the inventory. class IfcInventory : public IfcGroup { public: - /// Whether the optional attribute PredefinedType is defined for this IfcInventory - bool hasPredefinedType() const; /// A list of the types of inventories from which that required may be selected. /// /// IFC2x4 CHANGE Attribute made optional. - IfcInventoryTypeEnum::IfcInventoryTypeEnum PredefinedType() const; - void setPredefinedType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); - /// Whether the optional attribute Jurisdiction is defined for this IfcInventory - bool hasJurisdiction() const; + boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v); /// The organizational unit to which the inventory is applicable. - IfcActorSelect* Jurisdiction() const; - void setJurisdiction(IfcActorSelect* v); - /// Whether the optional attribute ResponsiblePersons is defined for this IfcInventory - bool hasResponsiblePersons() const; + boost::optional< IfcActorSelect* > Jurisdiction() const; + void Jurisdiction(boost::optional< IfcActorSelect* > v); /// Persons who are responsible for the inventory. - IfcTemplatedEntityList< IfcPerson >::ptr ResponsiblePersons() const; - void setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v); - /// Whether the optional attribute LastUpdateDate is defined for this IfcInventory - bool hasLastUpdateDate() const; + boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > ResponsiblePersons() const; + void ResponsiblePersons(boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v); /// The date on which the last update of the inventory was carried out. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string LastUpdateDate() const; - void setLastUpdateDate(std::string v); - /// Whether the optional attribute CurrentValue is defined for this IfcInventory - bool hasCurrentValue() const; + boost::optional< std::string > LastUpdateDate() const; + void LastUpdateDate(boost::optional< std::string > v); /// An estimate of the current cost value of the inventory. - IfcCostValue* CurrentValue() const; - void setCurrentValue(IfcCostValue* v); - /// Whether the optional attribute OriginalValue is defined for this IfcInventory - bool hasOriginalValue() const; + boost::optional< IfcCostValue* > CurrentValue() const; + void CurrentValue(boost::optional< IfcCostValue* > v); /// An estimate of the original cost value of the inventory. - IfcCostValue* OriginalValue() const; - void setOriginalValue(IfcCostValue* v); + boost::optional< IfcCostValue* > OriginalValue() const; + void OriginalValue(boost::optional< IfcCostValue* > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInventoryTypeEnum; case 6: return Type::IfcActorSelect; case 7: return Type::IfcPerson; case 8: return Type::IfcDate; case 9: return Type::IfcCostValue; case 10: return Type::IfcCostValue; } return IfcGroup::getArgumentEntity(i); } @@ -33290,7 +32120,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInventory (IfcAbstractEntity* e); - IfcInventory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, IfcActorSelect* v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); + IfcInventory (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect* > v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, boost::optional< IfcCostValue* > v10_CurrentValue, boost::optional< IfcCostValue* > v11_OriginalValue); typedef IfcTemplatedEntityList< IfcInventory > list; }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: @@ -33324,7 +32154,7 @@ class IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; - void setPredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v); + void PredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcJunctionBoxTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -33334,7 +32164,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcJunctionBoxType (IfcAbstractEntity* e); - IfcJunctionBoxType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); + IfcJunctionBoxType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcJunctionBoxType > list; }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. @@ -33363,12 +32193,10 @@ public: /// Figure 194 — Labor resource assignment use class IfcLaborResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLaborResource - bool hasPredefinedType() const; /// Defines types of labor resources. /// IFC2x4 New attribute - IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v); + boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcLaborResourceTypeEnum; } return IfcConstructionResource::getArgumentEntity(i); } @@ -33378,7 +32206,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLaborResource (IfcAbstractEntity* e); - IfcLaborResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType); + IfcLaborResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: @@ -33414,7 +32242,7 @@ class IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; - void setPredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v); + void PredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLampTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -33424,7 +32252,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLampType (IfcAbstractEntity* e); - IfcLampType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); + IfcLampType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcLampType > list; }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: @@ -33462,7 +32290,7 @@ class IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; - void setPredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v); + void PredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcLightFixtureTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -33472,7 +32300,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightFixtureType (IfcAbstractEntity* e); - IfcLightFixtureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); + IfcLightFixtureType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcLightFixtureType > list; }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. @@ -33506,19 +32334,13 @@ public: /// named 'Spacing' which expresses the center-to-center distances of fasteners. class IfcMechanicalFastener : public IfcElementComponent { public: - /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener - bool hasNominalLength() const; - double NominalLength() const; - void setNominalLength(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcMechanicalFastener - bool hasPredefinedType() const; + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); + boost::optional< double > NominalLength() const; + void NominalLength(boost::optional< double > v); /// Subtype of mechanical fastener - IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType() const; - void setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v); + boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcMechanicalFastenerTypeEnum; } return IfcElementComponent::getArgumentEntity(i); } @@ -33528,7 +32350,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastener (IfcAbstractEntity* e); - IfcMechanicalFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType); + IfcMechanicalFastener (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcMechanicalFastener > list; }; /// Definition from IAI: The element type (IfcMechanicalFastenerType) defines a list of commonly shared property set definitions of a fastener and an optional set of product representations. It is used to define mechanical fasteners mainly within structural and building services domains (i.e. the specific type information common to all occurrences of that type). @@ -33570,17 +32392,13 @@ class IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType() const; - void setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v); - /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastenerType - bool hasNominalDiameter() const; + void PredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v); /// The nominal diameter describing the cross-section size of the fastener type. - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastenerType - bool hasNominalLength() const; + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); /// The nominal length describing the longitudinal dimensions of the fastener type. - double NominalLength() const; - void setNominalLength(double v); + boost::optional< double > NominalLength() const; + void NominalLength(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcElementComponentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcMechanicalFastenerTypeEnum; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; } return IfcElementComponentType::getArgumentEntity(i); } @@ -33590,7 +32408,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastenerType (IfcAbstractEntity* e); - IfcMechanicalFastenerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength); + IfcMechanicalFastenerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength); typedef IfcTemplatedEntityList< IfcMechanicalFastenerType > list; }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: @@ -33622,7 +32440,7 @@ public: class IfcMedicalDeviceType : public IfcFlowTerminalType { public: IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v); + void PredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcMedicalDeviceTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -33632,7 +32450,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMedicalDeviceType (IfcAbstractEntity* e); - IfcMedicalDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType); + IfcMedicalDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMedicalDeviceType > list; }; /// Definition from IAI: The element type @@ -33740,7 +32558,7 @@ class IfcMemberType : public IfcBuildingElementType { public: /// Identifies the predefined types of a linear structural member element from which the type required may be set. IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; - void setPredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v); + void PredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcMemberTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -33750,7 +32568,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMemberType (IfcAbstractEntity* e); - IfcMemberType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); + IfcMemberType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMemberType > list; }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: @@ -33784,7 +32602,7 @@ class IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; - void setPredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v); + void PredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcMotorConnectionTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -33794,7 +32612,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMotorConnectionType (IfcAbstractEntity* e); - IfcMotorConnectionType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); + IfcMotorConnectionType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; }; /// An occupant is a type of actor that defines the form of occupancy of a property. @@ -33806,13 +32624,11 @@ public: /// IfcSpatialStructureElement: Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted. class IfcOccupant : public IfcActor { public: - /// Whether the optional attribute PredefinedType is defined for this IfcOccupant - bool hasPredefinedType() const; /// Predefined occupant types from which that required may be set. /// /// IFC2x4 CHANGE Attribute made optional. - IfcOccupantTypeEnum::IfcOccupantTypeEnum PredefinedType() const; - void setPredefinedType(IfcOccupantTypeEnum::IfcOccupantTypeEnum v); + boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; } return IfcActor::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcOccupantTypeEnum; } return IfcActor::getArgumentEntity(i); } @@ -33822,7 +32638,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOccupant (IfcAbstractEntity* e); - IfcOccupant (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType); + IfcOccupant (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType); typedef IfcTemplatedEntityList< IfcOccupant > list; }; /// The opening element stands for @@ -34029,13 +32845,11 @@ public: /// Figure 36 — Opening with multiple extrusions class IfcOpeningElement : public IfcFeatureElementSubtraction { public: - /// Whether the optional attribute PredefinedType is defined for this IfcOpeningElement - bool hasPredefinedType() const; /// Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum v); + boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFeatureElementSubtraction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcOpeningElementTypeEnum; } return IfcFeatureElementSubtraction::getArgumentEntity(i); } @@ -34046,7 +32860,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpeningElement (IfcAbstractEntity* e); - IfcOpeningElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); + IfcOpeningElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; /// The standard opening, @@ -34153,7 +32967,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpeningStandardCase (IfcAbstractEntity* e); - IfcOpeningStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); + IfcOpeningStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcOpeningStandardCase > list; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: @@ -34189,7 +33003,7 @@ class IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; - void setPredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v); + void PredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcOutletTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -34199,7 +33013,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOutletType (IfcAbstractEntity* e); - IfcOutletType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); + IfcOutletType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcOutletType > list; }; /// IfcPerformanceHistory is used to document the actual performance of an occurrence instance over time. In practice, performance-related data are generally not easy to obtain as they can originate from different sources (predicted, simulated, or measured) and occur during different stages of the building life-cycle. Such time-related data cover a large spectrum, including meteorological data, schedules, operational status measurements, trend reports, etc. @@ -34211,14 +33025,12 @@ class IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. std::string LifeCyclePhase() const; - void setLifeCyclePhase(std::string v); - /// Whether the optional attribute PredefinedType is defined for this IfcPerformanceHistory - bool hasPredefinedType() const; + void LifeCyclePhase(std::string v); /// Predefined generic type for a performace history that is specified in an enumeration. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum PredefinedType() const; - void setPredefinedType(IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum v); + boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENUMERATION; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcLabel; case 7: return Type::IfcPerformanceHistoryTypeEnum; } return IfcControl::getArgumentEntity(i); } @@ -34228,7 +33040,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPerformanceHistory (IfcAbstractEntity* e); - IfcPerformanceHistory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType); + IfcPerformanceHistory (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType); typedef IfcTemplatedEntityList< IfcPerformanceHistory > list; }; /// This entity is a description of a panel within a @@ -34266,25 +33078,19 @@ class IfcPermeableCoveringProperties : public IfcPreDefinedPropertySet { public: /// Types of permeable covering operations. Also used to assign standard symbolic presentations according to national building standards. IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum OperationType() const; - void setOperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v); + void OperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v); /// Position of this permeable covering panel within the overall window or door type. IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; - void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); - /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties - bool hasFrameDepth() const; + void PanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - double FrameDepth() const; - void setFrameDepth(double v); - /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties - bool hasFrameThickness() const; + boost::optional< double > FrameDepth() const; + void FrameDepth(boost::optional< double > v); /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - double FrameThickness() const; - void setFrameThickness(double v); - /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties - bool hasShapeAspectStyle() const; + boost::optional< double > FrameThickness() const; + void FrameThickness(boost::optional< double > v); /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. - IfcShapeAspect* ShapeAspectStyle() const; - void setShapeAspectStyle(IfcShapeAspect* v); + boost::optional< IfcShapeAspect* > ShapeAspectStyle() const; + void ShapeAspectStyle(boost::optional< IfcShapeAspect* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcPermeableCoveringOperationEnum; case 5: return Type::IfcWindowPanelPositionEnum; case 6: return Type::IfcPositiveLengthMeasure; case 7: return Type::IfcPositiveLengthMeasure; case 8: return Type::IfcShapeAspect; } return IfcPreDefinedPropertySet::getArgumentEntity(i); } @@ -34294,7 +33100,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermeableCoveringProperties (IfcAbstractEntity* e); - IfcPermeableCoveringProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcPermeableCoveringProperties (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, boost::optional< IfcShapeAspect* > v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties > list; }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. @@ -34336,27 +33142,21 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcPermit : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPermit - bool hasPredefinedType() const; /// Identifies the predefined types of permit that can be granted. /// /// IFC2x4 CHANGE The attribute has been added. - IfcPermitTypeEnum::IfcPermitTypeEnum PredefinedType() const; - void setPredefinedType(IfcPermitTypeEnum::IfcPermitTypeEnum v); - /// Whether the optional attribute Status is defined for this IfcPermit - bool hasStatus() const; + boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v); /// The status currently assigned to the permit. /// /// IFC2x4 CHANGE The attribute has been added. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcPermit - bool hasLongDescription() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// Detailed description of the request. /// /// IFC2x4 CHANGE The attribute has been added. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcPermitTypeEnum; case 7: return Type::IfcLabel; case 8: return Type::IfcText; } return IfcControl::getArgumentEntity(i); } @@ -34366,7 +33166,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermit (IfcAbstractEntity* e); - IfcPermit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); + IfcPermit (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); typedef IfcTemplatedEntityList< IfcPermit > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. @@ -34380,7 +33180,7 @@ class IfcPileType : public IfcBuildingElementType { public: /// Subtype of pile. IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; - void setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); + void PredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPileTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -34390,7 +33190,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPileType (IfcAbstractEntity* e); - IfcPileType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType); + IfcPileType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPileType > list; }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: @@ -34426,7 +33226,7 @@ class IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v); + void PredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPipeFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -34436,7 +33236,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeFittingType (IfcAbstractEntity* e); - IfcPipeFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); + IfcPipeFittingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeFittingType > list; }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: @@ -34476,7 +33276,7 @@ class IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v); + void PredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPipeSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -34486,7 +33286,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeSegmentType (IfcAbstractEntity* e); - IfcPipeSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); + IfcPipeSegmentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeSegmentType > list; }; /// The element type IfcPlateType defines commonly shared @@ -34570,7 +33370,7 @@ class IfcPlateType : public IfcBuildingElementType { public: /// Identifies the predefined types of a planar member element from which the type required may be set. IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; - void setPredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v); + void PredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPlateTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -34580,7 +33380,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlateType (IfcAbstractEntity* e); - IfcPlateType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); + IfcPlateType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPlateType > list; }; /// Definition from ISO/CD 10303-42:1992: A polyline @@ -34601,7 +33401,7 @@ class IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. IfcTemplatedEntityList< IfcCartesianPoint >::ptr Points() const; - void setPoints(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void Points(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPoint; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -34681,7 +33481,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPort (IfcAbstractEntity* e); - IfcPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcPort (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation); typedef IfcTemplatedEntityList< IfcPort > list; }; /// An IfcProcedure is a @@ -34790,12 +33590,10 @@ public: /// Figure 12 — Procedure relationships class IfcProcedure : public IfcProcess { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProcedure - bool hasPredefinedType() const; /// Identifies the predefined types of a procedure from which /// the type required may be set. - IfcProcedureTypeEnum::IfcProcedureTypeEnum PredefinedType() const; - void setPredefinedType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); + boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; } return IfcProcess::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcProcedureTypeEnum; } return IfcProcess::getArgumentEntity(i); } @@ -34805,7 +33603,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcedure (IfcAbstractEntity* e); - IfcProcedure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType); + IfcProcedure (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType); typedef IfcTemplatedEntityList< IfcProcedure > list; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. @@ -34853,15 +33651,11 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcProjectOrder : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProjectOrder - bool hasPredefinedType() const; /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. - IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum PredefinedType() const; - void setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v); - /// Whether the optional attribute Status is defined for this IfcProjectOrder - bool hasStatus() const; + boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v); /// The current status of a project order.Examples of status values that might be used for a project order status include: /// /// PLANNED @@ -34871,13 +33665,11 @@ public: /// STARTED /// DELAYED /// DONE - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcProjectOrder - bool hasLongDescription() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// A detailed description of the project order describing the work to be completed. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcProjectOrderTypeEnum; case 7: return Type::IfcLabel; case 8: return Type::IfcText; } return IfcControl::getArgumentEntity(i); } @@ -34887,7 +33679,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectOrder (IfcAbstractEntity* e); - IfcProjectOrder (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); + IfcProjectOrder (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); typedef IfcTemplatedEntityList< IfcProjectOrder > list; }; /// The projection element is a @@ -34999,13 +33791,11 @@ public: /// RepresentationType : 'Brep' class IfcProjectionElement : public IfcFeatureElementAddition { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProjectionElement - bool hasPredefinedType() const; /// Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum v); + boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFeatureElementAddition::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcProjectionElementTypeEnum; } return IfcFeatureElementAddition::getArgumentEntity(i); } @@ -35015,7 +33805,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectionElement (IfcAbstractEntity* e); - IfcProjectionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType); + IfcProjectionElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcProjectionElement > list; }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: @@ -35057,7 +33847,7 @@ class IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v); + void PredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcProtectiveDeviceTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -35067,7 +33857,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceType (IfcAbstractEntity* e); - IfcProtectiveDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); + IfcProtectiveDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceType > list; }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: @@ -35102,7 +33892,7 @@ class IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; - void setPredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v); + void PredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPumpTypeEnum; } return IfcFlowMovingDeviceType::getArgumentEntity(i); } @@ -35112,7 +33902,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPumpType (IfcAbstractEntity* e); - IfcPumpType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); + IfcPumpType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPumpType > list; }; /// Definition from IAI: The element type (IfcRailingType) @@ -35139,7 +33929,7 @@ class IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; - void setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v); + void PredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRailingTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -35149,7 +33939,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailingType (IfcAbstractEntity* e); - IfcRailingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); + IfcRailingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRailingType > list; }; /// Definition from IAI: The element type (IfcRampFlightType) @@ -35176,7 +33966,7 @@ class IfcRampFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp flight element from which the type required may be set. IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; - void setPredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v); + void PredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRampFlightTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -35186,7 +33976,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlightType (IfcAbstractEntity* e); - IfcRampFlightType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); + IfcRampFlightType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRampFlightType > list; }; /// Definition from IAI: The element type @@ -35226,7 +34016,7 @@ class IfcRampType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. IfcRampTypeEnum::IfcRampTypeEnum PredefinedType() const; - void setPredefinedType(IfcRampTypeEnum::IfcRampTypeEnum v); + void PredefinedType(IfcRampTypeEnum::IfcRampTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRampTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -35236,7 +34026,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampType (IfcAbstractEntity* e); - IfcRampType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType); + IfcRampType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRampType > list; }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. @@ -35277,10 +34067,8 @@ public: /// Attributes PredefinedType and Role added. class IfcReinforcingElement : public IfcElementComponent { public: - /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement - bool hasSteelGrade() const; - std::string SteelGrade() const; - void setSteelGrade(std::string v); + boost::optional< std::string > SteelGrade() const; + void SteelGrade(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLabel; } return IfcElementComponent::getArgumentEntity(i); } @@ -35290,7 +34078,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingElement (IfcAbstractEntity* e); - IfcReinforcingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); + IfcReinforcingElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); typedef IfcTemplatedEntityList< IfcReinforcingElement > list; }; /// Definition from IAI: Types of bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. @@ -35307,7 +34095,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingElementType (IfcAbstractEntity* e); - IfcReinforcingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcReinforcingElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcReinforcingElementType > list; }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. @@ -35336,43 +34124,25 @@ public: /// Simplified geometric representations may be used based on local agreements. class IfcReinforcingMesh : public IfcReinforcingElement { public: - /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh - bool hasMeshLength() const; - double MeshLength() const; - void setMeshLength(double v); - /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh - bool hasMeshWidth() const; - double MeshWidth() const; - void setMeshWidth(double v); - /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMesh - bool hasLongitudinalBarNominalDiameter() const; - double LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(double v); - /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMesh - bool hasTransverseBarNominalDiameter() const; - double TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(double v); - /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMesh - bool hasLongitudinalBarCrossSectionArea() const; - double LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(double v); - /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMesh - bool hasTransverseBarCrossSectionArea() const; - double TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(double v); - /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMesh - bool hasLongitudinalBarSpacing() const; - double LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(double v); - /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMesh - bool hasTransverseBarSpacing() const; - double TransverseBarSpacing() const; - void setTransverseBarSpacing(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingMesh - bool hasPredefinedType() const; + boost::optional< double > MeshLength() const; + void MeshLength(boost::optional< double > v); + boost::optional< double > MeshWidth() const; + void MeshWidth(boost::optional< double > v); + boost::optional< double > LongitudinalBarNominalDiameter() const; + void LongitudinalBarNominalDiameter(boost::optional< double > v); + boost::optional< double > TransverseBarNominalDiameter() const; + void TransverseBarNominalDiameter(boost::optional< double > v); + boost::optional< double > LongitudinalBarCrossSectionArea() const; + void LongitudinalBarCrossSectionArea(boost::optional< double > v); + boost::optional< double > TransverseBarCrossSectionArea() const; + void TransverseBarCrossSectionArea(boost::optional< double > v); + boost::optional< double > LongitudinalBarSpacing() const; + void LongitudinalBarSpacing(boost::optional< double > v); + boost::optional< double > TransverseBarSpacing() const; + void TransverseBarSpacing(boost::optional< double > v); /// The predefined type is always MESH. - IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType() const; - void setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v); + boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v); virtual unsigned int getArgumentCount() const { return 18; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_ENUMERATION; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcAreaMeasure; case 14: return Type::IfcAreaMeasure; case 15: return Type::IfcPositiveLengthMeasure; case 16: return Type::IfcPositiveLengthMeasure; case 17: return Type::IfcReinforcingMeshTypeEnum; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -35382,7 +34152,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingMesh (IfcAbstractEntity* e); - IfcReinforcingMesh (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType); + IfcReinforcingMesh (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType); typedef IfcTemplatedEntityList< IfcReinforcingMesh > list; }; /// Definition from IAI: A series of longitudinal and transverse wires or bars of various gauges, arranged at right angles to each other and welded at all points of intersection; usually used for concrete slab reinforcement. Also known as welded wire fabric. @@ -35400,55 +34170,35 @@ class IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType() const; - void setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v); - /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMeshType - bool hasMeshLength() const; + void PredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v); /// The overall length of the mesh measured in its longitudinal direction. - double MeshLength() const; - void setMeshLength(double v); - /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMeshType - bool hasMeshWidth() const; + boost::optional< double > MeshLength() const; + void MeshLength(boost::optional< double > v); /// The overall width of the mesh measured in its transversal direction. - double MeshWidth() const; - void setMeshWidth(double v); - /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarNominalDiameter() const; + boost::optional< double > MeshWidth() const; + void MeshWidth(boost::optional< double > v); /// The nominal diameter denoting the cross-section size of the longitudinal bars. - double LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(double v); - /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMeshType - bool hasTransverseBarNominalDiameter() const; + boost::optional< double > LongitudinalBarNominalDiameter() const; + void LongitudinalBarNominalDiameter(boost::optional< double > v); /// The nominal diameter denoting the cross-section size of the transverse bars. - double TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(double v); - /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarCrossSectionArea() const; + boost::optional< double > TransverseBarNominalDiameter() const; + void TransverseBarNominalDiameter(boost::optional< double > v); /// The effective cross-section area of the longitudinal bars of the mesh. - double LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(double v); - /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMeshType - bool hasTransverseBarCrossSectionArea() const; + boost::optional< double > LongitudinalBarCrossSectionArea() const; + void LongitudinalBarCrossSectionArea(boost::optional< double > v); /// The effective cross-section area of the transverse bars of the mesh. - double TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(double v); - /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarSpacing() const; + boost::optional< double > TransverseBarCrossSectionArea() const; + void TransverseBarCrossSectionArea(boost::optional< double > v); /// The spacing between the longitudinal bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - double LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(double v); - /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMeshType - bool hasTransverseBarSpacing() const; + boost::optional< double > LongitudinalBarSpacing() const; + void LongitudinalBarSpacing(boost::optional< double > v); /// The spacing between the transverse bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - double TransverseBarSpacing() const; - void setTransverseBarSpacing(double v); - /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingMeshType - bool hasBendingShapeCode() const; - std::string BendingShapeCode() const; - void setBendingShapeCode(std::string v); - /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingMeshType - bool hasBendingParameters() const; - IfcEntityList::ptr BendingParameters() const; - void setBendingParameters(IfcEntityList::ptr v); + boost::optional< double > TransverseBarSpacing() const; + void TransverseBarSpacing(boost::optional< double > v); + boost::optional< std::string > BendingShapeCode() const; + void BendingShapeCode(boost::optional< std::string > v); + boost::optional< IfcEntityList::ptr > BendingParameters() const; + void BendingParameters(boost::optional< IfcEntityList::ptr > v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_ENTITY_LIST; } return IfcReinforcingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcReinforcingMeshTypeEnum; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcPositiveLengthMeasure; case 14: return Type::IfcAreaMeasure; case 15: return Type::IfcAreaMeasure; case 16: return Type::IfcPositiveLengthMeasure; case 17: return Type::IfcPositiveLengthMeasure; case 18: return Type::IfcLabel; case 19: return Type::IfcBendingParameterSelect; } return IfcReinforcingElementType::getArgumentEntity(i); } @@ -35458,7 +34208,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingMeshType (IfcAbstractEntity* e); - IfcReinforcingMeshType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters); typedef IfcTemplatedEntityList< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -35489,12 +34239,12 @@ public: /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered aggregation relationship. IfcObjectDefinition* RelatingObject() const; - void setRelatingObject(IfcObjectDefinition* v); + void RelatingObject(IfcObjectDefinition* v); /// The object definitions, either object occurrences or object types, that are being aggregated. They are defined as the parts in the whole/part relationship. No order is implied between the parts. /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered set of parts within the aggregation. IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); + void RelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelDecomposes::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcObjectDefinition; case 5: return Type::IfcObjectDefinition; } return IfcRelDecomposes::getArgumentEntity(i); } @@ -35504,7 +34254,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAggregates (IfcAbstractEntity* e); - IfcRelAggregates (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelAggregates (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelAggregates > list; }; /// Definition from IAI: The element type @@ -35543,7 +34293,7 @@ class IfcRoofType : public IfcBuildingElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. IfcRoofTypeEnum::IfcRoofTypeEnum PredefinedType() const; - void setPredefinedType(IfcRoofTypeEnum::IfcRoofTypeEnum v); + void PredefinedType(IfcRoofTypeEnum::IfcRoofTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcRoofTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -35553,7 +34303,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoofType (IfcAbstractEntity* e); - IfcRoofType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType); + IfcRoofType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRoofType > list; }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: @@ -35597,7 +34347,7 @@ class IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v); + void PredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSanitaryTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -35607,7 +34357,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSanitaryTerminalType (IfcAbstractEntity* e); - IfcSanitaryTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); + IfcSanitaryTerminalType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; /// Definition from IAI: The IfcShadingDeviceType @@ -35635,7 +34385,7 @@ class IfcShadingDeviceType : public IfcBuildingElementType { public: /// Identifies the predefined types of a shading device element from which the type required may be set. IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v); + void PredefinedType(IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcShadingDeviceTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -35645,7 +34395,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShadingDeviceType (IfcAbstractEntity* e); - IfcShadingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType); + IfcShadingDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcShadingDeviceType > list; }; /// Definition from ISO 6707-1:1989: Area where construction @@ -35839,34 +34589,24 @@ public: /// 'SurfaceModel' class IfcSite : public IfcSpatialStructureElement { public: - /// Whether the optional attribute RefLatitude is defined for this IfcSite - bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - std::vector< int > /*[3:4]*/ RefLatitude() const; - void setRefLatitude(std::vector< int > /*[3:4]*/ v); - /// Whether the optional attribute RefLongitude is defined for this IfcSite - bool hasRefLongitude() const; + boost::optional< std::vector< int > /*[3:4]*/ > RefLatitude() const; + void RefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v); /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - std::vector< int > /*[3:4]*/ RefLongitude() const; - void setRefLongitude(std::vector< int > /*[3:4]*/ v); - /// Whether the optional attribute RefElevation is defined for this IfcSite - bool hasRefElevation() const; + boost::optional< std::vector< int > /*[3:4]*/ > RefLongitude() const; + void RefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v); /// Datum elevation relative to sea level. - double RefElevation() const; - void setRefElevation(double v); - /// Whether the optional attribute LandTitleNumber is defined for this IfcSite - bool hasLandTitleNumber() const; + boost::optional< double > RefElevation() const; + void RefElevation(boost::optional< double > v); /// The land title number (designation of the site within a regional system). - std::string LandTitleNumber() const; - void setLandTitleNumber(std::string v); - /// Whether the optional attribute SiteAddress is defined for this IfcSite - bool hasSiteAddress() const; + boost::optional< std::string > LandTitleNumber() const; + void LandTitleNumber(boost::optional< std::string > v); /// Address given to the site for postal purposes. - IfcPostalAddress* SiteAddress() const; - void setSiteAddress(IfcPostalAddress* v); + boost::optional< IfcPostalAddress* > SiteAddress() const; + void SiteAddress(boost::optional< IfcPostalAddress* > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_VECTOR_INT; case 10: return IfcUtil::Argument_VECTOR_INT; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_ENTITY; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCompoundPlaneAngleMeasure; case 10: return Type::IfcCompoundPlaneAngleMeasure; case 11: return Type::IfcLengthMeasure; case 12: return Type::IfcLabel; case 13: return Type::IfcPostalAddress; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -35876,7 +34616,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSite (IfcAbstractEntity* e); - IfcSite (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); + IfcSite (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, boost::optional< IfcPostalAddress* > v14_SiteAddress); typedef IfcTemplatedEntityList< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared @@ -35960,7 +34700,7 @@ class IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; - void setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v); + void PredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSlabTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -35970,7 +34710,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabType (IfcAbstractEntity* e); - IfcSlabType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); + IfcSlabType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabType > list; }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: @@ -36002,7 +34742,7 @@ public: class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v); + void PredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSolarDeviceTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -36012,7 +34752,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSolarDeviceType (IfcAbstractEntity* e); - IfcSolarDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType); + IfcSolarDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSolarDeviceType > list; }; /// A space represents an area or volume @@ -36267,20 +35007,16 @@ public: /// 'Brep' class IfcSpace : public IfcSpatialStructureElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSpace - bool hasPredefinedType() const; /// Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// Previous use, prior to IFC2x4, had been to indicates whether the IfcSpace is an interior space by value INTERNAL, or an exterior space by value EXTERNAL. This use is now deprecated, the property 'IsExternal' at 'Pset_SpaceCommon' should be used instead. /// /// IFC2x4 CHANGE  The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange. - IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); - /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace - bool hasElevationWithFlooring() const; + boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v); /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - double ElevationWithFlooring() const; - void setElevationWithFlooring(double v); + boost::optional< double > ElevationWithFlooring() const; + void ElevationWithFlooring(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSpaceTypeEnum; case 10: return Type::IfcLengthMeasure; } return IfcSpatialStructureElement::getArgumentEntity(i); } @@ -36292,7 +35028,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpace (IfcAbstractEntity* e); - IfcSpace (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring); + IfcSpace (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring); typedef IfcTemplatedEntityList< IfcSpace > list; }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: @@ -36329,7 +35065,7 @@ class IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v); + void PredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSpaceHeaterTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -36339,7 +35075,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceHeaterType (IfcAbstractEntity* e); - IfcSpaceHeaterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); + IfcSpaceHeaterType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; }; /// Definition from IAI: A space represents an area or @@ -36427,11 +35163,9 @@ class IfcSpaceType : public IfcSpatialStructureElementType { public: /// Predefined types to define the particular type of space. There may be property set definitions available for each predefined type. IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); - /// Whether the optional attribute LongName is defined for this IfcSpaceType - bool hasLongName() const; - std::string LongName() const; - void setLongName(std::string v); + void PredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcSpatialStructureElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSpaceTypeEnum; case 10: return Type::IfcLabel; } return IfcSpatialStructureElementType::getArgumentEntity(i); } @@ -36441,7 +35175,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceType (IfcAbstractEntity* e); - IfcSpaceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName); + IfcSpaceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName); typedef IfcTemplatedEntityList< IfcSpaceType > list; }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: @@ -36474,7 +35208,7 @@ class IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v); + void PredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStackTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -36484,7 +35218,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStackTerminalType (IfcAbstractEntity* e); - IfcStackTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); + IfcStackTerminalType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStackTerminalType > list; }; /// Definition from IAI: The element type (IfcStairFlightType) @@ -36511,7 +35245,7 @@ class IfcStairFlightType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair flight element from which the type required may be set. IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; - void setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); + void PredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -36521,7 +35255,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlightType (IfcAbstractEntity* e); - IfcStairFlightType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); + IfcStairFlightType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlightType > list; }; /// Definition from IAI: The element type @@ -36561,7 +35295,7 @@ class IfcStairType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. IfcStairTypeEnum::IfcStairTypeEnum PredefinedType() const; - void setPredefinedType(IfcStairTypeEnum::IfcStairTypeEnum v); + void PredefinedType(IfcStairTypeEnum::IfcStairTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStairTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -36571,7 +35305,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairType (IfcAbstractEntity* e); - IfcStairType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType); + IfcStairType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStairType > list; }; /// Definition from IAI: A structural action is a structural activity that acts upon @@ -36595,11 +35329,9 @@ public: /// IfcStructuralReaction. class IfcStructuralAction : public IfcStructuralActivity { public: - /// Whether the optional attribute DestabilizingLoad is defined for this IfcStructuralAction - bool hasDestabilizingLoad() const; /// Indicates if this action may cause a stability problem. If it is 'FALSE', no further investigations regarding stability problems are necessary. - bool DestabilizingLoad() const; - void setDestabilizingLoad(bool v); + boost::optional< bool > DestabilizingLoad() const; + void DestabilizingLoad(boost::optional< bool > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_BOOL; } return IfcStructuralActivity::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::UNDEFINED; } return IfcStructuralActivity::getArgumentEntity(i); } @@ -36609,7 +35341,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAction (IfcAbstractEntity* e); - IfcStructuralAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); typedef IfcTemplatedEntityList< IfcStructuralAction > list; }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. @@ -36617,11 +35349,9 @@ public: /// HISTORY: New entity in IFC 2x2. class IfcStructuralConnection : public IfcStructuralItem { public: - /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection - bool hasAppliedCondition() const; /// Optional boundary conditions which define support conditions of this connection object, given in local coordinate directions of the connection object. If left unspecified, the connection object is assumed to have no supports besides being connected with members. - IfcBoundaryCondition* AppliedCondition() const; - void setAppliedCondition(IfcBoundaryCondition* v); + boost::optional< IfcBoundaryCondition* > AppliedCondition() const; + void AppliedCondition(boost::optional< IfcBoundaryCondition* > v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; } return IfcStructuralItem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcBoundaryCondition; } return IfcStructuralItem::getArgumentEntity(i); } @@ -36632,7 +35362,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnection (IfcAbstractEntity* e); - IfcStructuralConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralConnection (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralConnection > list; }; /// Definition from IAI: Defines an action which is distributed over a curve. @@ -36693,14 +35423,12 @@ public: /// shall be of the same entity type. class IfcStructuralCurveAction : public IfcStructuralAction { public: - /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralCurveAction - bool hasProjectedOrTrue() const; /// Defines whether load values are given per true length of the curve on which they act, or per length of the projection of the curve in load direction. The latter is only applicable to loads which act in global coordinate directions. - IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; - void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); + boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > ProjectedOrTrue() const; + void ProjectedOrTrue(boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v); /// Type of action according to its distribution of load values. IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v); + void PredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralAction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcProjectedOrTrueLengthEnum; case 11: return Type::IfcStructuralCurveActivityTypeEnum; } return IfcStructuralAction::getArgumentEntity(i); } @@ -36710,7 +35438,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveAction (IfcAbstractEntity* e); - IfcStructuralCurveAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); + IfcStructuralCurveAction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveAction > list; }; /// Definition from IAI: Instances of IfcStructuralCurveConnection describe edge 'nodes', i.e. edges where two or more surface members are joined, or edge supports. Edge curves may be straight or curved. @@ -36736,7 +35464,7 @@ public: /// /// NOTE  It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute. IfcDirection* Axis() const; - void setAxis(IfcDirection* v); + void Axis(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENTITY; } return IfcStructuralConnection::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDirection; } return IfcStructuralConnection::getArgumentEntity(i); } @@ -36746,7 +35474,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveConnection (IfcAbstractEntity* e); - IfcStructuralCurveConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis); + IfcStructuralCurveConnection (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition, IfcDirection* v9_Axis); typedef IfcTemplatedEntityList< IfcStructuralCurveConnection > list; }; /// Definition from IAI: Instances of IfcStructuralCurveMember describe edge members, i.e. structural analysis idealizations of beams, columns, rods etc.. Curve members may be straight or curved. @@ -36790,12 +35518,12 @@ class IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v); + void PredefinedType(IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v); /// Direction which is used in the definition of the local z axis. Axis is specified relative to the so-called global coordinate system, i.e. the SELF\IfcProduct.ObjectPlacement. /// /// NOTE  It is desirable and usually possible that many instances of IfcStructuralCurveConnection and IfcStructuralCurveMember share a common instance of IfcDirection as their Axis attribute. IfcDirection* Axis() const; - void setAxis(IfcDirection* v); + void Axis(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENTITY; } return IfcStructuralMember::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcStructuralCurveMemberTypeEnum; case 8: return Type::IfcDirection; } return IfcStructuralMember::getArgumentEntity(i); } @@ -36805,7 +35533,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMember (IfcAbstractEntity* e); - IfcStructuralCurveMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); + IfcStructuralCurveMember (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); typedef IfcTemplatedEntityList< IfcStructuralCurveMember > list; }; /// Definition from IAI: Describes edge members with varying profile properties. Each instance of IfcStructuralCurveMemberVarying is composed of two or more instances of IfcStructuralCurveMember with differing profile properties. These subordinate members relate to the instance of IfcStructuralCurveMemberVarying by IfcRelAggregates. @@ -36839,7 +35567,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMemberVarying (IfcAbstractEntity* e); - IfcStructuralCurveMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); + IfcStructuralCurveMemberVarying (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. @@ -36896,7 +35624,7 @@ class IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v); + void PredefinedType(IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralReaction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcStructuralCurveActivityTypeEnum; } return IfcStructuralReaction::getArgumentEntity(i); } @@ -36906,7 +35634,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveReaction (IfcAbstractEntity* e); - IfcStructuralCurveReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType); + IfcStructuralCurveReaction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveReaction > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. @@ -36927,7 +35655,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLinearAction (IfcAbstractEntity* e); - IfcStructuralLinearAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); + IfcStructuralLinearAction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the @@ -36967,23 +35695,19 @@ class IfcStructuralLoadGroup : public IfcGroup { public: /// Selects a predefined type for the load group. It can be differentiated between load groups, load cases, load combinations, or userdefined grouping levels. IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum PredefinedType() const; - void setPredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v); + void PredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v); /// Type of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. IfcActionTypeEnum::IfcActionTypeEnum ActionType() const; - void setActionType(IfcActionTypeEnum::IfcActionTypeEnum v); + void ActionType(IfcActionTypeEnum::IfcActionTypeEnum v); /// Source of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. IfcActionSourceTypeEnum::IfcActionSourceTypeEnum ActionSource() const; - void setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v); - /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup - bool hasCoefficient() const; + void ActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v); /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - double Coefficient() const; - void setCoefficient(double v); - /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup - bool hasPurpose() const; + boost::optional< double > Coefficient() const; + void Coefficient(boost::optional< double > v); /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - std::string Purpose() const; - void setPurpose(std::string v); + boost::optional< std::string > Purpose() const; + void Purpose(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_STRING; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLoadGroupTypeEnum; case 6: return Type::IfcActionTypeEnum; case 7: return Type::IfcActionSourceTypeEnum; case 8: return Type::IfcRatioMeasure; case 9: return Type::IfcLabel; } return IfcGroup::getArgumentEntity(i); } @@ -36995,7 +35719,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadGroup (IfcAbstractEntity* e); - IfcStructuralLoadGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose); + IfcStructuralLoadGroup (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose); typedef IfcTemplatedEntityList< IfcStructuralLoadGroup > list; }; /// Definition from IAI: Defines an action which acts on a point. @@ -37054,7 +35778,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointAction (IfcAbstractEntity* e); - IfcStructuralPointAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. @@ -37072,11 +35796,9 @@ public: /// Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications. class IfcStructuralPointConnection : public IfcStructuralConnection { public: - /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcStructuralPointConnection - bool hasConditionCoordinateSystem() const; /// Defines a coordinate system used for the description of the support condition properties in SELF\IfcStructuralConnection.SupportCondition, specified relative to the global coordinate system (global to the structural analysis model) established by SELF.\IfcProduct.ObjectPlacement. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the coordinates of the reference point of this IfcStructuralPointConnection and the default axes directions being in parallel with the global axes. - IfcAxis2Placement3D* ConditionCoordinateSystem() const; - void setConditionCoordinateSystem(IfcAxis2Placement3D* v); + boost::optional< IfcAxis2Placement3D* > ConditionCoordinateSystem() const; + void ConditionCoordinateSystem(boost::optional< IfcAxis2Placement3D* > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENTITY; } return IfcStructuralConnection::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAxis2Placement3D; } return IfcStructuralConnection::getArgumentEntity(i); } @@ -37086,7 +35808,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointConnection (IfcAbstractEntity* e); - IfcStructuralPointConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem); + IfcStructuralPointConnection (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition, boost::optional< IfcAxis2Placement3D* > v9_ConditionCoordinateSystem); typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. @@ -37143,7 +35865,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointReaction (IfcAbstractEntity* e); - IfcStructuralPointReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralPointReaction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralPointReaction > list; }; /// Definition from IAI: Instances of the entity IfcStructuralResultGroup are used to group results of structural analysis calculations and to capture the connection to the underlying basic load group. The basic functionality for grouping inherited from IfcGroup is used to collect instances from IfcStructuralReaction or its respective subclasses. @@ -37154,15 +35876,13 @@ class IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType() const; - void setTheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v); - /// Whether the optional attribute ResultForLoadGroup is defined for this IfcStructuralResultGroup - bool hasResultForLoadGroup() const; + void TheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v); /// Reference to an instance of IfcStructuralLoadGroup for which this instance represents the result. - IfcStructuralLoadGroup* ResultForLoadGroup() const; - void setResultForLoadGroup(IfcStructuralLoadGroup* v); + boost::optional< IfcStructuralLoadGroup* > ResultForLoadGroup() const; + void ResultForLoadGroup(boost::optional< IfcStructuralLoadGroup* > v); /// This value allows to easily recognize whether a linear analysis has been applied (allowing the superposition of analysis results). bool IsLinear() const; - void setIsLinear(bool v); + void IsLinear(bool v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_BOOL; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisTheoryTypeEnum; case 6: return Type::IfcStructuralLoadGroup; case 7: return Type::UNDEFINED; } return IfcGroup::getArgumentEntity(i); } @@ -37173,7 +35893,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralResultGroup (IfcAbstractEntity* e); - IfcStructuralResultGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, boost::optional< IfcStructuralLoadGroup* > v7_ResultForLoadGroup, bool v8_IsLinear); typedef IfcTemplatedEntityList< IfcStructuralResultGroup > list; }; /// Definition from IAI: Defines an action which is distributed over a surface. @@ -37230,14 +35950,12 @@ public: /// shall be of the same entity type. class IfcStructuralSurfaceAction : public IfcStructuralAction { public: - /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralSurfaceAction - bool hasProjectedOrTrue() const; /// Defines whether load values are given per true lengths of the surface on which they act, or per lengths of the projection of the surface in load direction. The latter is only applicable to loads which act in global coordinate directions. - IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; - void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); + boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > ProjectedOrTrue() const; + void ProjectedOrTrue(boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v); /// Type of action according to its distribution of load values. IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType() const; - void setPredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v); + void PredefinedType(IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; } return IfcStructuralAction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcProjectedOrTrueLengthEnum; case 11: return Type::IfcStructuralSurfaceActivityTypeEnum; } return IfcStructuralAction::getArgumentEntity(i); } @@ -37247,7 +35965,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceAction (IfcAbstractEntity* e); - IfcStructuralSurfaceAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); + IfcStructuralSurfaceAction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralSurfaceAction > list; }; /// Definition from IAI: Instances of IfcStructuralSurfaceConnection describe face 'nodes', i.e. faces where two or more surface members are joined, or face supports. Face surfaces may be planar or curved. @@ -37273,7 +35991,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceConnection (IfcAbstractEntity* e); - IfcStructuralSurfaceConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralSurfaceConnection (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcBoundaryCondition* > v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. @@ -37302,12 +36020,10 @@ public: /// Figure 195 — Subcontract assignment use class IfcSubContractResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSubContractResource - bool hasPredefinedType() const; /// Defines types of subcontract resources. /// IFC2x4 New attribute - IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v); + boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcSubContractResourceTypeEnum; } return IfcConstructionResource::getArgumentEntity(i); } @@ -37317,7 +36033,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSubContractResource (IfcAbstractEntity* e); - IfcSubContractResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType); + IfcSubContractResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcSubContractResource > list; }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. @@ -37354,11 +36070,9 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IfcSurfaceFeature : public IfcFeatureElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSurfaceFeature - bool hasPredefinedType() const; /// Indicates the kind of surface feature. - IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum PredefinedType() const; - void setPredefinedType(IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum v); + boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFeatureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSurfaceFeatureTypeEnum; } return IfcFeatureElement::getArgumentEntity(i); } @@ -37368,7 +36082,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceFeature (IfcAbstractEntity* e); - IfcSurfaceFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType); + IfcSurfaceFeature (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSurfaceFeature > list; }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: @@ -37415,7 +36129,7 @@ class IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v); + void PredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSwitchingDeviceTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -37425,7 +36139,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSwitchingDeviceType (IfcAbstractEntity* e); - IfcSwitchingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); + IfcSwitchingDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSwitchingDeviceType > list; }; /// Definition from IAI: Organized combination of @@ -37457,7 +36171,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystem (IfcAbstractEntity* e); - IfcSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); + IfcSystem (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcSystem > list; }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. @@ -37486,10 +36200,8 @@ public: /// 'Panel': Panels such as glass. class IfcSystemFurnitureElement : public IfcFurnishingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElement - bool hasPredefinedType() const; - IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum v); + boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFurnishingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSystemFurnitureElementTypeEnum; } return IfcFurnishingElement::getArgumentEntity(i); } @@ -37499,7 +36211,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystemFurnitureElement (IfcAbstractEntity* e); - IfcSystemFurnitureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType); + IfcSystemFurnitureElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSystemFurnitureElement > list; }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: @@ -37538,7 +36250,7 @@ class IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; - void setPredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v); + void PredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowStorageDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTankTypeEnum; } return IfcFlowStorageDeviceType::getArgumentEntity(i); } @@ -37548,44 +36260,28 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTankType (IfcAbstractEntity* e); - IfcTankType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); + IfcTankType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTankType > list; }; class IfcTendon : public IfcReinforcingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTendon - bool hasPredefinedType() const; - IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; - void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); - /// Whether the optional attribute NominalDiameter is defined for this IfcTendon - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcTendon - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute TensionForce is defined for this IfcTendon - bool hasTensionForce() const; - double TensionForce() const; - void setTensionForce(double v); - /// Whether the optional attribute PreStress is defined for this IfcTendon - bool hasPreStress() const; - double PreStress() const; - void setPreStress(double v); - /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon - bool hasFrictionCoefficient() const; - double FrictionCoefficient() const; - void setFrictionCoefficient(double v); - /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon - bool hasAnchorageSlip() const; - double AnchorageSlip() const; - void setAnchorageSlip(double v); - /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon - bool hasMinCurvatureRadius() const; - double MinCurvatureRadius() const; - void setMinCurvatureRadius(double v); + boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v); + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void CrossSectionArea(boost::optional< double > v); + boost::optional< double > TensionForce() const; + void TensionForce(boost::optional< double > v); + boost::optional< double > PreStress() const; + void PreStress(boost::optional< double > v); + boost::optional< double > FrictionCoefficient() const; + void FrictionCoefficient(boost::optional< double > v); + boost::optional< double > AnchorageSlip() const; + void AnchorageSlip(boost::optional< double > v); + boost::optional< double > MinCurvatureRadius() const; + void MinCurvatureRadius(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTendonTypeEnum; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcAreaMeasure; case 12: return Type::IfcForceMeasure; case 13: return Type::IfcPressureMeasure; case 14: return Type::IfcNormalisedRatioMeasure; case 15: return Type::IfcPositiveLengthMeasure; case 16: return Type::IfcPositiveLengthMeasure; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -37595,16 +36291,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendon (IfcAbstractEntity* e); - IfcTendon (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); + IfcTendon (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); typedef IfcTemplatedEntityList< IfcTendon > list; }; class IfcTendonAnchor : public IfcReinforcingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTendonAnchor - bool hasPredefinedType() const; - IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType() const; - void setPredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v); + boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTendonAnchorTypeEnum; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -37614,14 +36308,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonAnchor (IfcAbstractEntity* e); - IfcTendonAnchor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType); + IfcTendonAnchor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTendonAnchor > list; }; class IfcTendonAnchorType : public IfcReinforcingElementType { public: IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType() const; - void setPredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v); + void PredefinedType(IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcReinforcingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTendonAnchorTypeEnum; } return IfcReinforcingElementType::getArgumentEntity(i); } @@ -37631,26 +36325,20 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonAnchorType (IfcAbstractEntity* e); - IfcTendonAnchorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType); + IfcTendonAnchorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTendonAnchorType > list; }; class IfcTendonType : public IfcReinforcingElementType { public: IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; - void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); - /// Whether the optional attribute NominalDiameter is defined for this IfcTendonType - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcTendonType - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute SheethDiameter is defined for this IfcTendonType - bool hasSheethDiameter() const; - double SheethDiameter() const; - void setSheethDiameter(double v); + void PredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void CrossSectionArea(boost::optional< double > v); + boost::optional< double > SheethDiameter() const; + void SheethDiameter(boost::optional< double > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTendonTypeEnum; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcAreaMeasure; case 12: return Type::IfcPositiveLengthMeasure; } return IfcReinforcingElementType::getArgumentEntity(i); } @@ -37660,7 +36348,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonType (IfcAbstractEntity* e); - IfcTendonType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter); + IfcTendonType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter); typedef IfcTemplatedEntityList< IfcTendonType > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: @@ -37694,7 +36382,7 @@ class IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; - void setPredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v); + void PredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTransformerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -37704,7 +36392,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransformerType (IfcAbstractEntity* e); - IfcTransformerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); + IfcTransformerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTransformerType > list; }; /// Definition from IAI: Generalization of all transport @@ -37825,13 +36513,11 @@ public: /// RepresentationType : 'MappedRepresentation' class IfcTransportElement : public IfcElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTransportElement - bool hasPredefinedType() const; /// Predefined generic types for a transportation element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. - IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); + boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTransportElementTypeEnum; } return IfcElement::getArgumentEntity(i); } @@ -37841,7 +36527,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElement (IfcAbstractEntity* e); - IfcTransportElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType); + IfcTransportElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: @@ -37926,19 +36612,19 @@ class IfcTrimmedCurve : public IfcBoundedCurve { public: /// The curve to be trimmed. For curves with multiple representations any parameter values given as Trim1 or Trim2 refer to the master representation of the BasisCurve only. IfcCurve* BasisCurve() const; - void setBasisCurve(IfcCurve* v); + void BasisCurve(IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. IfcEntityList::ptr Trim1() const; - void setTrim1(IfcEntityList::ptr v); + void Trim1(IfcEntityList::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. IfcEntityList::ptr Trim2() const; - void setTrim2(IfcEntityList::ptr v); + void Trim2(IfcEntityList::ptr v); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement() const; - void setSenseAgreement(bool v); + void SenseAgreement(bool v); /// Where both parameter and point are present at either end of the curve this indicates the preferred form. IfcTrimmingPreference::IfcTrimmingPreference MasterRepresentation() const; - void setMasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v); + void MasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENUMERATION; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcTrimmingSelect; case 2: return Type::IfcTrimmingSelect; case 3: return Type::UNDEFINED; case 4: return Type::IfcTrimmingPreference; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -37984,7 +36670,7 @@ class IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; - void setPredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v); + void PredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcTubeBundleTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -37994,7 +36680,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTubeBundleType (IfcAbstractEntity* e); - IfcTubeBundleType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); + IfcTubeBundleType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTubeBundleType > list; }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: @@ -38029,7 +36715,7 @@ class IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v); + void PredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcUnitaryEquipmentTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -38039,7 +36725,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryEquipmentType (IfcAbstractEntity* e); - IfcUnitaryEquipmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); + IfcUnitaryEquipmentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType > list; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: @@ -38084,7 +36770,7 @@ class IfcValveType : public IfcFlowControllerType { public: /// The type of valve. IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; - void setPredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v); + void PredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcValveTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -38094,7 +36780,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcValveType (IfcAbstractEntity* e); - IfcValveType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); + IfcValveType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcValveType > list; }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. @@ -38133,10 +36819,8 @@ public: /// Damping: Material from which the damping element of the vibration isolator is constructed. class IfcVibrationIsolator : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcVibrationIsolator - bool hasPredefinedType() const; - IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v); + boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcVibrationIsolatorTypeEnum; } return IfcElementComponent::getArgumentEntity(i); } @@ -38146,7 +36830,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVibrationIsolator (IfcAbstractEntity* e); - IfcVibrationIsolator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType); + IfcVibrationIsolator (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcVibrationIsolator > list; }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: @@ -38175,7 +36859,7 @@ class IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v); + void PredefinedType(IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcVibrationIsolatorTypeEnum; } return IfcElementComponentType::getArgumentEntity(i); } @@ -38185,7 +36869,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVibrationIsolatorType (IfcAbstractEntity* e); - IfcVibrationIsolatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); + IfcVibrationIsolatorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcVibrationIsolatorType > list; }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. @@ -38285,7 +36969,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVirtualElement (IfcAbstractEntity* e); - IfcVirtualElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcVirtualElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcVirtualElement > list; }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. @@ -38322,11 +37006,9 @@ public: /// Higher-level parameters (geometric and non-geometric) may be provided by property sets based on local agreements. class IfcVoidingFeature : public IfcFeatureElementSubtraction { public: - /// Whether the optional attribute PredefinedType is defined for this IfcVoidingFeature - bool hasPredefinedType() const; /// Qualifies the feature regarding its shape and configuration relative to the voided element. - IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum PredefinedType() const; - void setPredefinedType(IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum v); + boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFeatureElementSubtraction::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcVoidingFeatureTypeEnum; } return IfcFeatureElementSubtraction::getArgumentEntity(i); } @@ -38336,7 +37018,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVoidingFeature (IfcAbstractEntity* e); - IfcVoidingFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType); + IfcVoidingFeature (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcVoidingFeature > list; }; /// Definition from IAI: The element type @@ -38427,7 +37109,7 @@ class IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; - void setPredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v); + void PredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWallTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -38437,7 +37119,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallType (IfcAbstractEntity* e); - IfcWallType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); + IfcWallType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcWallType > list; }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: @@ -38480,7 +37162,7 @@ class IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v); + void PredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWasteTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -38490,7 +37172,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWasteTerminalType (IfcAbstractEntity* e); - IfcWasteTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); + IfcWasteTerminalType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcWasteTerminalType > list; }; /// Definition from IAI: The element type @@ -38618,18 +37300,14 @@ class IfcWindowType : public IfcBuildingElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. IfcWindowTypeEnum::IfcWindowTypeEnum PredefinedType() const; - void setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v); + void PredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v); /// Type defining the general layout of the window type in terms of the partitioning of panels. IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum PartitioningType() const; - void setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v); - /// Whether the optional attribute ParameterTakesPrecedence is defined for this IfcWindowType - bool hasParameterTakesPrecedence() const; - bool ParameterTakesPrecedence() const; - void setParameterTakesPrecedence(bool v); - /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindowType - bool hasUserDefinedPartitioningType() const; - std::string UserDefinedPartitioningType() const; - void setUserDefinedPartitioningType(std::string v); + void PartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v); + boost::optional< bool > ParameterTakesPrecedence() const; + void ParameterTakesPrecedence(boost::optional< bool > v); + boost::optional< std::string > UserDefinedPartitioningType() const; + void UserDefinedPartitioningType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWindowTypeEnum; case 10: return Type::IfcWindowTypePartitioningEnum; case 11: return Type::UNDEFINED; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -38639,7 +37317,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowType (IfcAbstractEntity* e); - IfcWindowType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType); typedef IfcTemplatedEntityList< IfcWindowType > list; }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. @@ -38657,28 +37335,22 @@ public: /// Figure 17 — Work calendar instantiation class IfcWorkCalendar : public IfcControl { public: - /// Whether the optional attribute WorkingTimes is defined for this IfcWorkCalendar - bool hasWorkingTimes() const; /// Set of times periods that are regarded as an initial set-up /// of working times. Exception times can then further restrict /// these working times. - IfcTemplatedEntityList< IfcWorkTime >::ptr WorkingTimes() const; - void setWorkingTimes(IfcTemplatedEntityList< IfcWorkTime >::ptr v); - /// Whether the optional attribute ExceptionTimes is defined for this IfcWorkCalendar - bool hasExceptionTimes() const; + boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > WorkingTimes() const; + void WorkingTimes(boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v); /// Set of times periods that define exceptions (non-working /// times) for the given working times including the base /// calendar, if provided. - IfcTemplatedEntityList< IfcWorkTime >::ptr ExceptionTimes() const; - void setExceptionTimes(IfcTemplatedEntityList< IfcWorkTime >::ptr v); - /// Whether the optional attribute PredefinedType is defined for this IfcWorkCalendar - bool hasPredefinedType() const; + boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > ExceptionTimes() const; + void ExceptionTimes(boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v); /// Identifies the predefined types of a work calendar from which /// the type required may be set. /// /// Added in IFC 2x4 - IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum PredefinedType() const; - void setPredefinedType(IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum v); + boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENUMERATION; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcWorkTime; case 7: return Type::IfcWorkTime; case 8: return Type::IfcWorkCalendarTypeEnum; } return IfcControl::getArgumentEntity(i); } @@ -38688,7 +37360,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkCalendar (IfcAbstractEntity* e); - IfcWorkCalendar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType); + IfcWorkCalendar (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWorkCalendar > list; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. @@ -38739,35 +37411,25 @@ class IfcWorkControl : public IfcControl { public: /// The date that the plan is created. std::string CreationDate() const; - void setCreationDate(std::string v); - /// Whether the optional attribute Creators is defined for this IfcWorkControl - bool hasCreators() const; + void CreationDate(std::string v); /// The authors of the work plan. - IfcTemplatedEntityList< IfcPerson >::ptr Creators() const; - void setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v); - /// Whether the optional attribute Purpose is defined for this IfcWorkControl - bool hasPurpose() const; + boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > Creators() const; + void Creators(boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v); /// A description of the purpose of the work schedule. - std::string Purpose() const; - void setPurpose(std::string v); - /// Whether the optional attribute Duration is defined for this IfcWorkControl - bool hasDuration() const; + boost::optional< std::string > Purpose() const; + void Purpose(boost::optional< std::string > v); /// The total duration of the entire work schedule. - std::string Duration() const; - void setDuration(std::string v); - /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl - bool hasTotalFloat() const; + boost::optional< std::string > Duration() const; + void Duration(boost::optional< std::string > v); /// The total time float of the entire work schedule. - std::string TotalFloat() const; - void setTotalFloat(std::string v); + boost::optional< std::string > TotalFloat() const; + void TotalFloat(boost::optional< std::string > v); /// The start time of the schedule. std::string StartTime() const; - void setStartTime(std::string v); - /// Whether the optional attribute FinishTime is defined for this IfcWorkControl - bool hasFinishTime() const; + void StartTime(std::string v); /// The finish time of the schedule. - std::string FinishTime() const; - void setFinishTime(std::string v); + boost::optional< std::string > FinishTime() const; + void FinishTime(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcDateTime; case 7: return Type::IfcPerson; case 8: return Type::IfcLabel; case 9: return Type::IfcDuration; case 10: return Type::IfcDuration; case 11: return Type::IfcDateTime; case 12: return Type::IfcDateTime; } return IfcControl::getArgumentEntity(i); } @@ -38777,7 +37439,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkControl (IfcAbstractEntity* e); - IfcWorkControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime); + IfcWorkControl (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime); typedef IfcTemplatedEntityList< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. @@ -38807,12 +37469,10 @@ public: /// Figure 18 — Work plan relationships class IfcWorkPlan : public IfcWorkControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWorkPlan - bool hasPredefinedType() const; /// Identifies the predefined types of a work plan from which /// the type required may be set. - IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum PredefinedType() const; - void setPredefinedType(IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum v); + boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 13: return IfcUtil::Argument_ENUMERATION; } return IfcWorkControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 13: return Type::IfcWorkPlanTypeEnum; } return IfcWorkControl::getArgumentEntity(i); } @@ -38822,7 +37482,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkPlan (IfcAbstractEntity* e); - IfcWorkPlan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType); + IfcWorkPlan (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType); typedef IfcTemplatedEntityList< IfcWorkPlan > list; }; /// An IfcWorkSchedule @@ -38867,12 +37527,10 @@ public: /// Figure 19 — Work schedule relationships class IfcWorkSchedule : public IfcWorkControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWorkSchedule - bool hasPredefinedType() const; /// Identifies the predefined types of a work schedule from which /// the type required may be set. - IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum PredefinedType() const; - void setPredefinedType(IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum v); + boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 13: return IfcUtil::Argument_ENUMERATION; } return IfcWorkControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 13: return Type::IfcWorkScheduleTypeEnum; } return IfcWorkControl::getArgumentEntity(i); } @@ -38882,7 +37540,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkSchedule (IfcAbstractEntity* e); - IfcWorkSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType); + IfcWorkSchedule (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType); typedef IfcTemplatedEntityList< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isÿa group of spaces, @@ -38972,15 +37630,13 @@ public: /// requirements class IfcZone : public IfcSystem { public: - /// Whether the optional attribute LongName is defined for this IfcZone - bool hasLongName() const; /// Long name for a zone, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a zone, and the LongName refers to the full name. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - std::string LongName() const; - void setLongName(std::string v); + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcSystem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLabel; } return IfcSystem::getArgumentEntity(i); } @@ -38990,7 +37646,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcZone (IfcAbstractEntity* e); - IfcZone (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName); + IfcZone (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName); typedef IfcTemplatedEntityList< IfcZone > list; }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. @@ -39033,15 +37689,11 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcActionRequest : public IfcControl { public: - /// Whether the optional attribute PredefinedType is defined for this IfcActionRequest - bool hasPredefinedType() const; /// Identifies the predefined type of sources through which a request can be made. /// /// IFC2x4 CHANGE The attribute has been added. - IfcActionRequestTypeEnum::IfcActionRequestTypeEnum PredefinedType() const; - void setPredefinedType(IfcActionRequestTypeEnum::IfcActionRequestTypeEnum v); - /// Whether the optional attribute Status is defined for this IfcActionRequest - bool hasStatus() const; + boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v); /// The status currently assigned to the request. Possible values include: /// Hold: wait to see if further requests are received before deciding on action /// NoAction: no action is required on this request @@ -39049,15 +37701,13 @@ public: /// Urgent: take action immediately /// /// IFC2x4 CHANGE The attribute has been added. - std::string Status() const; - void setStatus(std::string v); - /// Whether the optional attribute LongDescription is defined for this IfcActionRequest - bool hasLongDescription() const; + boost::optional< std::string > Status() const; + void Status(boost::optional< std::string > v); /// Detailed description of the permit. /// /// IFC2x4 CHANGE The attribute has been added. - std::string LongDescription() const; - void setLongDescription(std::string v); + boost::optional< std::string > LongDescription() const; + void LongDescription(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 6: return Type::IfcActionRequestTypeEnum; case 7: return Type::IfcLabel; case 8: return Type::IfcText; } return IfcControl::getArgumentEntity(i); } @@ -39067,7 +37717,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActionRequest (IfcAbstractEntity* e); - IfcActionRequest (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); + IfcActionRequest (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); typedef IfcTemplatedEntityList< IfcActionRequest > list; }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: @@ -39100,7 +37750,7 @@ class IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v); + void PredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAirTerminalBoxTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -39110,7 +37760,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalBoxType (IfcAbstractEntity* e); - IfcAirTerminalBoxType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); + IfcAirTerminalBoxType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalBoxType > list; }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: @@ -39142,7 +37792,7 @@ public: class IfcAirTerminalType : public IfcFlowTerminalType { public: IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); + void PredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAirTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -39152,7 +37802,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalType (IfcAbstractEntity* e); - IfcAirTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); + IfcAirTerminalType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalType > list; }; /// The energy conversion device type IfcAirToAirHeatRecoveryType defines commonly shared information for occurrences of air-to-air heat recovery devices. The set of shared information may include: @@ -39185,7 +37835,7 @@ class IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v); + void PredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAirToAirHeatRecoveryTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -39195,7 +37845,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirToAirHeatRecoveryType (IfcAbstractEntity* e); - IfcAirToAirHeatRecoveryType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); + IfcAirToAirHeatRecoveryType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > list; }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. @@ -39224,56 +37874,38 @@ public: /// IfcElement: Physical elements that comprise the asset. class IfcAsset : public IfcGroup { public: - /// Whether the optional attribute Identification is defined for this IfcAsset - bool hasIdentification() const; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. - std::string Identification() const; - void setIdentification(std::string v); - /// Whether the optional attribute OriginalValue is defined for this IfcAsset - bool hasOriginalValue() const; + boost::optional< std::string > Identification() const; + void Identification(boost::optional< std::string > v); /// The cost value of the asset at the time of purchase. - IfcCostValue* OriginalValue() const; - void setOriginalValue(IfcCostValue* v); - /// Whether the optional attribute CurrentValue is defined for this IfcAsset - bool hasCurrentValue() const; + boost::optional< IfcCostValue* > OriginalValue() const; + void OriginalValue(boost::optional< IfcCostValue* > v); /// The current cost value of the asset. - IfcCostValue* CurrentValue() const; - void setCurrentValue(IfcCostValue* v); - /// Whether the optional attribute TotalReplacementCost is defined for this IfcAsset - bool hasTotalReplacementCost() const; + boost::optional< IfcCostValue* > CurrentValue() const; + void CurrentValue(boost::optional< IfcCostValue* > v); /// The total cost of replacement of the asset. - IfcCostValue* TotalReplacementCost() const; - void setTotalReplacementCost(IfcCostValue* v); - /// Whether the optional attribute Owner is defined for this IfcAsset - bool hasOwner() const; + boost::optional< IfcCostValue* > TotalReplacementCost() const; + void TotalReplacementCost(boost::optional< IfcCostValue* > v); /// The name of the person or organization that 'owns' the asset. - IfcActorSelect* Owner() const; - void setOwner(IfcActorSelect* v); - /// Whether the optional attribute User is defined for this IfcAsset - bool hasUser() const; + boost::optional< IfcActorSelect* > Owner() const; + void Owner(boost::optional< IfcActorSelect* > v); /// The name of the person or organization that 'uses' the asset. - IfcActorSelect* User() const; - void setUser(IfcActorSelect* v); - /// Whether the optional attribute ResponsiblePerson is defined for this IfcAsset - bool hasResponsiblePerson() const; + boost::optional< IfcActorSelect* > User() const; + void User(boost::optional< IfcActorSelect* > v); /// The person designated to be responsible for the asset. /// NOTE: In some regulations (for example, UK Health and Safety at Work Act, Electricity at Work Regulations), management of assets must have a person identified as being responsible and to whom regulatory, insurance and other organizations communicate. In places where there is not a legal requirement, the responsible person would be the asset manager but would not have a legal status. - IfcPerson* ResponsiblePerson() const; - void setResponsiblePerson(IfcPerson* v); - /// Whether the optional attribute IncorporationDate is defined for this IfcAsset - bool hasIncorporationDate() const; + boost::optional< IfcPerson* > ResponsiblePerson() const; + void ResponsiblePerson(boost::optional< IfcPerson* > v); /// The date on which an asset was incorporated into the works, installed, constructed, erected or completed. /// NOTE: This is the date on which an asset is considered to start depreciating. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - std::string IncorporationDate() const; - void setIncorporationDate(std::string v); - /// Whether the optional attribute DepreciatedValue is defined for this IfcAsset - bool hasDepreciatedValue() const; + boost::optional< std::string > IncorporationDate() const; + void IncorporationDate(boost::optional< std::string > v); /// The current value of an asset within the accounting rules and procedures of an organization. - IfcCostValue* DepreciatedValue() const; - void setDepreciatedValue(IfcCostValue* v); + boost::optional< IfcCostValue* > DepreciatedValue() const; + void DepreciatedValue(boost::optional< IfcCostValue* > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_ENTITY; } return IfcGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcCostValue; case 7: return Type::IfcCostValue; case 8: return Type::IfcCostValue; case 9: return Type::IfcActorSelect; case 10: return Type::IfcActorSelect; case 11: return Type::IfcPerson; case 12: return Type::IfcDate; case 13: return Type::IfcCostValue; } return IfcGroup::getArgumentEntity(i); } @@ -39283,7 +37915,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAsset (IfcAbstractEntity* e); - IfcAsset (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect* v10_Owner, IfcActorSelect* v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); + IfcAsset (std::string v1_GlobalId, boost::optional< 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< IfcCostValue* > v7_OriginalValue, boost::optional< IfcCostValue* > v8_CurrentValue, boost::optional< IfcCostValue* > v9_TotalReplacementCost, boost::optional< IfcActorSelect* > v10_Owner, boost::optional< IfcActorSelect* > v11_User, boost::optional< IfcPerson* > v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, boost::optional< IfcCostValue* > v14_DepreciatedValue); typedef IfcTemplatedEntityList< IfcAsset > list; }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: @@ -39332,7 +37964,7 @@ class IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v); + void PredefinedType(IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAudioVisualApplianceTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -39342,7 +37974,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAudioVisualApplianceType (IfcAbstractEntity* e); - IfcAudioVisualApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType); + IfcAudioVisualApplianceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAudioVisualApplianceType > list; }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. @@ -39398,19 +38030,19 @@ class IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. int Degree() const; - void setDegree(int v); + void Degree(int v); /// The list of control points for the curve. IfcTemplatedEntityList< IfcCartesianPoint >::ptr ControlPointsList() const; - void setControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); + void ControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); /// Used to identify particular types of curve; it is for information only. IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm() const; - void setCurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v); + void CurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v); /// Indication of whether the curve is closed; it is for information only. bool ClosedCurve() const; - void setClosedCurve(bool v); + void ClosedCurve(bool v); /// Indication whether the curve self-intersects or not; it is for information only. bool SelfIntersect() const; - void setSelfIntersect(bool v); + void SelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::IfcCartesianPoint; case 2: return Type::IfcBSplineCurveForm; case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } @@ -39444,13 +38076,13 @@ class IfcBSplineCurveWithKnots : public IfcBSplineCurve { public: /// The multiplicities of the knots. This list defines the number of times each knot in the knots list is to be repeated in constructing the knot array. std::vector< int > /*[2:?]*/ KnotMultiplicities() const; - void setKnotMultiplicities(std::vector< int > /*[2:?]*/ v); + void KnotMultiplicities(std::vector< int > /*[2:?]*/ v); /// The list of distinct knots used to define the B-spline basis functions. std::vector< double > /*[2:?]*/ Knots() const; - void setKnots(std::vector< double > /*[2:?]*/ v); + void Knots(std::vector< double > /*[2:?]*/ v); /// The description of the knot type. This is for information only. IfcKnotType::IfcKnotType KnotSpec() const; - void setKnotSpec(IfcKnotType::IfcKnotType v); + void KnotSpec(IfcKnotType::IfcKnotType v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_VECTOR_INT; case 6: return IfcUtil::Argument_VECTOR_DOUBLE; case 7: return IfcUtil::Argument_ENUMERATION; } return IfcBSplineCurve::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::IfcParameterValue; case 7: return Type::IfcKnotType; } return IfcBSplineCurve::getArgumentEntity(i); } @@ -39565,7 +38197,7 @@ class IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; - void setPredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v); + void PredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBeamTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -39575,7 +38207,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeamType (IfcAbstractEntity* e); - IfcBeamType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); + IfcBeamType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBeamType > list; }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: @@ -39611,7 +38243,7 @@ class IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; - void setPredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v); + void PredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBoilerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -39621,7 +38253,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoilerType (IfcAbstractEntity* e); - IfcBoilerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); + IfcBoilerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBoilerType > list; }; /// Definition from ISO/CD 10303-42:1992ÿ A boundary curve @@ -40020,7 +38652,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElement (IfcAbstractEntity* e); - IfcBuildingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcBuildingElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; /// Definition from IAI: Layers or major components as subordinate @@ -40042,11 +38674,9 @@ public: /// attribute PredefinedType added. class IfcBuildingElementPart : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementPart - bool hasPredefinedType() const; /// Subtype of building element part - IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType() const; - void setPredefinedType(IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v); + boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcBuildingElementPartTypeEnum; } return IfcElementComponent::getArgumentEntity(i); } @@ -40056,7 +38686,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementPart (IfcAbstractEntity* e); - IfcBuildingElementPart (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType); + IfcBuildingElementPart (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; }; /// Definition from IAI: The building element part type defines @@ -40067,7 +38697,7 @@ class IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType() const; - void setPredefinedType(IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v); + void PredefinedType(IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBuildingElementPartTypeEnum; } return IfcElementComponentType::getArgumentEntity(i); } @@ -40077,7 +38707,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementPartType (IfcAbstractEntity* e); - IfcBuildingElementPartType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType); + IfcBuildingElementPartType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementPartType > list; }; /// Definition from IAI: The IfcBuildingElementProxy @@ -40272,10 +38902,8 @@ public: /// are defined at this level. class IfcBuildingElementProxy : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementProxy - bool hasPredefinedType() const; - IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; - void setPredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v); + boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcBuildingElementProxyTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -40285,7 +38913,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxy (IfcAbstractEntity* e); - IfcBuildingElementProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType); + IfcBuildingElementProxy (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; }; /// Definition from IAI: @@ -40326,7 +38954,7 @@ class IfcBuildingElementProxyType : public IfcBuildingElementType { public: /// Predefined types to define the particular type of an building element proxy. There may be property set definitions available for each predefined or user defined type. IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; - void setPredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v); + void PredefinedType(IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBuildingElementProxyTypeEnum; } return IfcBuildingElementType::getArgumentEntity(i); } @@ -40336,7 +38964,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxyType (IfcAbstractEntity* e); - IfcBuildingElementProxyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); + IfcBuildingElementProxyType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementProxyType > list; }; /// Definition from IAI: A building system is a @@ -40377,11 +39005,9 @@ public: /// set for building system occurrences class IfcBuildingSystem : public IfcSystem { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBuildingSystem - bool hasPredefinedType() const; /// Predefined types of distribution systems. - IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum PredefinedType() const; - void setPredefinedType(IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum v); + boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; } return IfcSystem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcBuildingSystemTypeEnum; } return IfcSystem::getArgumentEntity(i); } @@ -40391,7 +39017,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingSystem (IfcAbstractEntity* e); - IfcBuildingSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); + IfcBuildingSystem (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingSystem > list; }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: @@ -40424,7 +39050,7 @@ public: class IfcBurnerType : public IfcEnergyConversionDeviceType { public: IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType() const; - void setPredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v); + void PredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBurnerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -40434,7 +39060,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBurnerType (IfcAbstractEntity* e); - IfcBurnerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType); + IfcBurnerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBurnerType > list; }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: @@ -40467,7 +39093,7 @@ class IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v); + void PredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableCarrierFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -40477,7 +39103,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierFittingType (IfcAbstractEntity* e); - IfcCableCarrierFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); + IfcCableCarrierFittingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierFittingType > list; }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: @@ -40516,7 +39142,7 @@ class IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v); + void PredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableCarrierSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -40526,7 +39152,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierSegmentType (IfcAbstractEntity* e); - IfcCableCarrierSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); + IfcCableCarrierSegmentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType > list; }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: @@ -40561,7 +39187,7 @@ class IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v); + void PredefinedType(IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -40571,7 +39197,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableFittingType (IfcAbstractEntity* e); - IfcCableFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType); + IfcCableFittingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableFittingType > list; }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: @@ -40619,7 +39245,7 @@ class IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v); + void PredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCableSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -40629,7 +39255,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableSegmentType (IfcAbstractEntity* e); - IfcCableSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); + IfcCableSegmentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableSegmentType > list; }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: @@ -40668,7 +39294,7 @@ class IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; - void setPredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v); + void PredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcChillerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -40678,7 +39304,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChillerType (IfcAbstractEntity* e); - IfcChillerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); + IfcChillerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcChillerType > list; }; /// Definition from ISO 6707-1:1989: Construction @@ -40724,12 +39350,10 @@ public: /// for all chimney occurrences. class IfcChimney : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcChimney - bool hasPredefinedType() const; /// Predefined generic type for a chimney that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcChimneyType is assigned, providing its own IfcChimneyType.PredefinedType. - IfcChimneyTypeEnum::IfcChimneyTypeEnum PredefinedType() const; - void setPredefinedType(IfcChimneyTypeEnum::IfcChimneyTypeEnum v); + boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcChimneyTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -40739,7 +39363,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChimney (IfcAbstractEntity* e); - IfcChimney (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType); + IfcChimney (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcChimney > list; }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: @@ -40773,7 +39397,7 @@ class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. double Radius() const; - void setRadius(double v); + void Radius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcPositiveLengthMeasure; } return IfcConic::getArgumentEntity(i); } @@ -40798,7 +39422,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCivilElement (IfcAbstractEntity* e); - IfcCivilElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcCivilElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcCivilElement > list; }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: @@ -40832,7 +39456,7 @@ class IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v); + void PredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCoilTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -40842,7 +39466,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoilType (IfcAbstractEntity* e); - IfcCoilType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); + IfcCoilType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoilType > list; }; /// Definition from ISO 6707-1:1989: Structural member of @@ -41118,14 +39742,12 @@ public: /// IfcRepresentationMap. class IfcColumn : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcColumn - bool hasPredefinedType() const; /// Predefined generic type for a column that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcColumnType is assigned, providing its own IfcColumnType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; - void setPredefinedType(IfcColumnTypeEnum::IfcColumnTypeEnum v); + boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcColumnTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -41135,7 +39757,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumn (IfcAbstractEntity* e); - IfcColumn (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); + IfcColumn (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcColumn > list; }; /// The standard column, @@ -41394,7 +40016,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumnStandardCase (IfcAbstractEntity* e); - IfcColumnStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); + IfcColumnStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcColumnStandardCase > list; }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: @@ -41433,7 +40055,7 @@ class IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v); + void PredefinedType(IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCommunicationsApplianceTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -41443,7 +40065,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCommunicationsApplianceType (IfcAbstractEntity* e); - IfcCommunicationsApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType); + IfcCommunicationsApplianceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCommunicationsApplianceType > list; }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: @@ -41477,7 +40099,7 @@ class IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; - void setPredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v); + void PredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCompressorTypeEnum; } return IfcFlowMovingDeviceType::getArgumentEntity(i); } @@ -41487,7 +40109,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompressorType (IfcAbstractEntity* e); - IfcCompressorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); + IfcCompressorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCompressorType > list; }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: @@ -41521,7 +40143,7 @@ class IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; - void setPredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v); + void PredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCondenserTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -41531,7 +40153,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCondenserType (IfcAbstractEntity* e); - IfcCondenserType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); + IfcCondenserType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCondenserType > list; }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. @@ -41558,12 +40180,10 @@ public: /// Figure 183 — Construction equipment resource assignment class IfcConstructionEquipmentResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConstructionEquipmentResource - bool hasPredefinedType() const; /// Defines types of construction equipment resources. /// IFC2x4 New attribute - IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v); + boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcConstructionEquipmentResourceTypeEnum; } return IfcConstructionResource::getArgumentEntity(i); } @@ -41573,7 +40193,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionEquipmentResource (IfcAbstractEntity* e); - IfcConstructionEquipmentResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType); + IfcConstructionEquipmentResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. @@ -41604,12 +40224,10 @@ public: /// Figure 184 — Construction material resource assignment class IfcConstructionMaterialResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConstructionMaterialResource - bool hasPredefinedType() const; /// Defines types of construction material resources. /// IFC2x4 New attribute - IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v); + boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcConstructionMaterialResourceTypeEnum; } return IfcConstructionResource::getArgumentEntity(i); } @@ -41619,7 +40237,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionMaterialResource (IfcAbstractEntity* e); - IfcConstructionMaterialResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType); + IfcConstructionMaterialResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. @@ -41639,12 +40257,10 @@ public: /// Figure 185 — Construction product resource assignment class IfcConstructionProductResource : public IfcConstructionResource { public: - /// Whether the optional attribute PredefinedType is defined for this IfcConstructionProductResource - bool hasPredefinedType() const; /// Defines types of construction product resources. /// IFC2x4 New attribute - IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType() const; - void setPredefinedType(IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v); + boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENUMERATION; } return IfcConstructionResource::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcConstructionProductResourceTypeEnum; } return IfcConstructionResource::getArgumentEntity(i); } @@ -41654,7 +40270,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionProductResource (IfcAbstractEntity* e); - IfcConstructionProductResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType); + IfcConstructionProductResource (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcResourceTime* > v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, boost::optional< IfcPhysicalQuantity* > v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionProductResource > list; }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: @@ -41690,7 +40306,7 @@ class IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; - void setPredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v); + void PredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCooledBeamTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -41700,7 +40316,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCooledBeamType (IfcAbstractEntity* e); - IfcCooledBeamType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); + IfcCooledBeamType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCooledBeamType > list; }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: @@ -41740,7 +40356,7 @@ class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v); + void PredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcCoolingTowerTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -41750,7 +40366,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoolingTowerType (IfcAbstractEntity* e); - IfcCoolingTowerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); + IfcCoolingTowerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoolingTowerType > list; }; /// Definition from ISO 6707-1:1989: term used: Finishing - @@ -41979,11 +40595,9 @@ public: /// Figure 95 — Covering body circular class IfcCovering : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCovering - bool hasPredefinedType() const; /// Predefined types to define the particular type of the covering. There may be property set definitions available for each predefined type. - IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoveringTypeEnum::IfcCoveringTypeEnum v); + boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCoveringTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -41995,7 +40609,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCovering (IfcAbstractEntity* e); - IfcCovering (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); + IfcCovering (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall @@ -42138,14 +40752,12 @@ public: /// components of the curtain wall are defined. class IfcCurtainWall : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCurtainWall - bool hasPredefinedType() const; /// Predefined generic type for a curtain wall that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcCurtainWallType is assigned, providing its own IfcCurtainWallType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; - void setPredefinedType(IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v); + boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCurtainWallTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -42155,7 +40767,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWall (IfcAbstractEntity* e); - IfcCurtainWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType); + IfcCurtainWall (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: @@ -42196,7 +40808,7 @@ class IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; - void setPredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v); + void PredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDamperTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -42206,7 +40818,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDamperType (IfcAbstractEntity* e); - IfcDamperType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); + IfcDamperType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDamperType > list; }; /// Definition from IAI: Representation of different kinds of @@ -42384,11 +40996,9 @@ public: /// which multiple brackets can be mounted. class IfcDiscreteAccessory : public IfcElementComponent { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDiscreteAccessory - bool hasPredefinedType() const; /// Subtype of discrete accessory - IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType() const; - void setPredefinedType(IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v); + boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponent::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDiscreteAccessoryTypeEnum; } return IfcElementComponent::getArgumentEntity(i); } @@ -42398,7 +41008,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessory (IfcAbstractEntity* e); - IfcDiscreteAccessory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType); + IfcDiscreteAccessory (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type @@ -42593,7 +41203,7 @@ class IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType() const; - void setPredefinedType(IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v); + void PredefinedType(IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcElementComponentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDiscreteAccessoryTypeEnum; } return IfcElementComponentType::getArgumentEntity(i); } @@ -42603,7 +41213,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessoryType (IfcAbstractEntity* e); - IfcDiscreteAccessoryType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType); + IfcDiscreteAccessoryType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType > list; }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: @@ -42647,7 +41257,7 @@ class IfcDistributionChamberElementType : public IfcDistributionFlowElementType public: /// Predefined types of distribution chambers. IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v); + void PredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionFlowElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDistributionChamberElementTypeEnum; } return IfcDistributionFlowElementType::getArgumentEntity(i); } @@ -42657,7 +41267,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElementType (IfcAbstractEntity* e); - IfcDistributionChamberElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); + IfcDistributionChamberElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionChamberElementType > list; }; /// The element type IfcDistributionControlElementType defines a list of commonly shared property set definitions of an element and an optional set of product representations. It is used to define an element specification (the specific product information that is common to all occurrences of that product type). @@ -42725,7 +41335,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElementType (IfcAbstractEntity* e); - IfcDistributionControlElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); + IfcDistributionControlElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionControlElementType > list; }; /// Definition from IAI: Generalization of all elements @@ -42902,7 +41512,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElement (IfcAbstractEntity* e); - IfcDistributionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDistributionElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionElement > list; }; /// The distribution element IfcDistributionFlowElement defines occurrence elements of a distribution system that facilitate the distribution of energy or matter, such as air, water or power. @@ -42985,7 +41595,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElement (IfcAbstractEntity* e); - IfcDistributionFlowElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDistributionFlowElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. @@ -43072,20 +41682,14 @@ public: /// 'Body': The shape of the port. class IfcDistributionPort : public IfcPort { public: - /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort - bool hasFlowDirection() const; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. - IfcFlowDirectionEnum::IfcFlowDirectionEnum FlowDirection() const; - void setFlowDirection(IfcFlowDirectionEnum::IfcFlowDirectionEnum v); - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionPort - bool hasPredefinedType() const; + boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > FlowDirection() const; + void FlowDirection(boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v); /// Enumeration that identifies the system type. If a system type is defined, the port may only be connected to other ports having the same system type. - IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum PredefinedType() const; - void setPredefinedType(IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum v); - /// Whether the optional attribute SystemType is defined for this IfcDistributionPort - bool hasSystemType() const; - IfcDistributionSystemEnum::IfcDistributionSystemEnum SystemType() const; - void setSystemType(IfcDistributionSystemEnum::IfcDistributionSystemEnum v); + boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v); + boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > SystemType() const; + void SystemType(boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; } return IfcPort::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcFlowDirectionEnum; case 8: return Type::IfcDistributionPortTypeEnum; case 9: return Type::IfcDistributionSystemEnum; } return IfcPort::getArgumentEntity(i); } @@ -43095,7 +41699,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionPort (IfcAbstractEntity* e); - IfcDistributionPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType); + IfcDistributionPort (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType); typedef IfcTemplatedEntityList< IfcDistributionPort > list; }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. @@ -43140,18 +41744,14 @@ public: /// Figure 150 — Distribution system assignment class IfcDistributionSystem : public IfcSystem { public: - /// Whether the optional attribute LongName is defined for this IfcDistributionSystem - bool hasLongName() const; /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a distribution system or branch circuit, and the LongName refers to a descriptive name. - std::string LongName() const; - void setLongName(std::string v); - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionSystem - bool hasPredefinedType() const; + boost::optional< std::string > LongName() const; + void LongName(boost::optional< std::string > v); /// Predefined types of distribution systems. - IfcDistributionSystemEnum::IfcDistributionSystemEnum PredefinedType() const; - void setPredefinedType(IfcDistributionSystemEnum::IfcDistributionSystemEnum v); + boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; } return IfcSystem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcLabel; case 6: return Type::IfcDistributionSystemEnum; } return IfcSystem::getArgumentEntity(i); } @@ -43161,7 +41761,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionSystem (IfcAbstractEntity* e); - IfcDistributionSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); + IfcDistributionSystem (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionSystem > list; }; /// Definition from ISO 6707-1:1989: Construction for @@ -43522,41 +42122,31 @@ public: /// Figure 97 — Door swing class IfcDoor : public IfcBuildingElement { public: - /// Whether the optional attribute OverallHeight is defined for this IfcDoor - bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be taller then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallHeight shall still be given as the door opening height, and not as the total height of the door lining. - double OverallHeight() const; - void setOverallHeight(double v); - /// Whether the optional attribute OverallWidth is defined for this IfcDoor - bool hasOverallWidth() const; + boost::optional< double > OverallHeight() const; + void OverallHeight(boost::optional< double > v); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. - double OverallWidth() const; - void setOverallWidth(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcDoor - bool hasPredefinedType() const; + boost::optional< double > OverallWidth() const; + void OverallWidth(boost::optional< double > v); /// Predefined generic type for a door that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcDoorType is assigned, providing its own IfcDoorType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcDoorTypeEnum::IfcDoorTypeEnum PredefinedType() const; - void setPredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v); - /// Whether the optional attribute OperationType is defined for this IfcDoor - bool hasOperationType() const; + boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v); /// Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations. /// /// NOTE The OperationType shall only be used, if no type object IfcDoorType is assigned, providing its own IfcDoorType.OperationType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum OperationType() const; - void setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v); - /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoor - bool hasUserDefinedOperationType() const; - std::string UserDefinedOperationType() const; - void setUserDefinedOperationType(std::string v); + boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > OperationType() const; + void OperationType(boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v); + boost::optional< std::string > UserDefinedOperationType() const; + void UserDefinedOperationType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcDoorTypeEnum; case 11: return Type::IfcDoorTypeOperationEnum; case 12: return Type::IfcLabel; } return IfcBuildingElement::getArgumentEntity(i); } @@ -43566,7 +42156,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoor (IfcAbstractEntity* e); - IfcDoor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); + IfcDoor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); typedef IfcTemplatedEntityList< IfcDoor > list; }; /// The standard door, @@ -43684,7 +42274,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorStandardCase (IfcAbstractEntity* e); - IfcDoorStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); + IfcDoorStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); typedef IfcTemplatedEntityList< IfcDoorStandardCase > list; }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: @@ -43720,7 +42310,7 @@ class IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v); + void PredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFittingType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDuctFittingTypeEnum; } return IfcFlowFittingType::getArgumentEntity(i); } @@ -43730,7 +42320,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctFittingType (IfcAbstractEntity* e); - IfcDuctFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); + IfcDuctFittingType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctFittingType > list; }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: @@ -43766,7 +42356,7 @@ class IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v); + void PredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegmentType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDuctSegmentTypeEnum; } return IfcFlowSegmentType::getArgumentEntity(i); } @@ -43776,7 +42366,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSegmentType (IfcAbstractEntity* e); - IfcDuctSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); + IfcDuctSegmentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSegmentType > list; }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: @@ -43809,7 +42399,7 @@ class IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v); + void PredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDuctSilencerTypeEnum; } return IfcFlowTreatmentDeviceType::getArgumentEntity(i); } @@ -43819,7 +42409,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSilencerType (IfcAbstractEntity* e); - IfcDuctSilencerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); + IfcDuctSilencerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSilencerType > list; }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: @@ -43855,7 +42445,7 @@ class IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v); + void PredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricApplianceTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -43865,7 +42455,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricApplianceType (IfcAbstractEntity* e); - IfcElectricApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); + IfcElectricApplianceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricApplianceType > list; }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: @@ -43899,7 +42489,7 @@ class IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v); + void PredefinedType(IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricDistributionBoardTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -43909,7 +42499,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricDistributionBoardType (IfcAbstractEntity* e); - IfcElectricDistributionBoardType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType); + IfcElectricDistributionBoardType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricDistributionBoardType > list; }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: @@ -43943,7 +42533,7 @@ class IfcElectricFlowStorageDeviceType : public IfcFlowStorageDeviceType { public: /// Identifies the predefined types of electric flow storage devices from which the type required may be set. IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v); + void PredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowStorageDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricFlowStorageDeviceTypeEnum; } return IfcFlowStorageDeviceType::getArgumentEntity(i); } @@ -43953,7 +42543,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricFlowStorageDeviceType (IfcAbstractEntity* e); - IfcElectricFlowStorageDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); + IfcElectricFlowStorageDeviceType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > list; }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: @@ -43992,7 +42582,7 @@ class IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v); + void PredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricGeneratorTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -44002,7 +42592,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricGeneratorType (IfcAbstractEntity* e); - IfcElectricGeneratorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); + IfcElectricGeneratorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricGeneratorType > list; }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: @@ -44036,7 +42626,7 @@ class IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v); + void PredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricMotorTypeEnum; } return IfcEnergyConversionDeviceType::getArgumentEntity(i); } @@ -44046,7 +42636,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricMotorType (IfcAbstractEntity* e); - IfcElectricMotorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); + IfcElectricMotorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricMotorType > list; }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: @@ -44080,7 +42670,7 @@ class IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v); + void PredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowControllerType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcElectricTimeControlTypeEnum; } return IfcFlowControllerType::getArgumentEntity(i); } @@ -44090,7 +42680,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricTimeControlType (IfcAbstractEntity* e); - IfcElectricTimeControlType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); + IfcElectricTimeControlType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; }; /// The distribution flow element IfcEnergyConversionDevice defines @@ -44113,7 +42703,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDevice (IfcAbstractEntity* e); - IfcEnergyConversionDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcEnergyConversionDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcEnergyConversionDevice > list; }; /// An engine is a device that converts fuel into mechanical energy through combustion. @@ -44159,10 +42749,8 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven source. class IfcEngine : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEngine - bool hasPredefinedType() const; - IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType() const; - void setPredefinedType(IfcEngineTypeEnum::IfcEngineTypeEnum v); + boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcEngineTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -44172,7 +42760,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEngine (IfcAbstractEntity* e); - IfcEngine (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType); + IfcEngine (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcEngine > list; }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. @@ -44221,10 +42809,8 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEvaporativeCooler - bool hasPredefinedType() const; - IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; - void setPredefinedType(IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v); + boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcEvaporativeCoolerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -44234,7 +42820,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporativeCooler (IfcAbstractEntity* e); - IfcEvaporativeCooler (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType); + IfcEvaporativeCooler (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporativeCooler > list; }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. @@ -44303,10 +42889,8 @@ public: /// Figure 223 — Evaporator port use class IfcEvaporator : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcEvaporator - bool hasPredefinedType() const; - IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v); + boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcEvaporatorTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -44316,7 +42900,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporator (IfcAbstractEntity* e); - IfcEvaporator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType); + IfcEvaporator (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporator > list; }; /// Definition from IAI: The external spatial element @@ -44336,11 +42920,9 @@ public: /// IFC2x4. class IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcExternalSpatialElement - bool hasPredefinedType() const; /// Predefined generic types for an external spatial element that are specified in an enumeration. There might be property sets defined specifically for each predefined type. - IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum v); + boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcExternalSpatialStructureElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcExternalSpatialElementTypeEnum; } return IfcExternalSpatialStructureElement::getArgumentEntity(i); } @@ -44351,7 +42933,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalSpatialElement (IfcAbstractEntity* e); - IfcExternalSpatialElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType); + IfcExternalSpatialElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcExternalSpatialElement > list; }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: @@ -44386,7 +42968,7 @@ class IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; - void setPredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v); + void PredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFanTypeEnum; } return IfcFlowMovingDeviceType::getArgumentEntity(i); } @@ -44396,7 +42978,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFanType (IfcAbstractEntity* e); - IfcFanType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); + IfcFanType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFanType > list; }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: @@ -44432,7 +43014,7 @@ class IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; - void setPredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v); + void PredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDeviceType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFilterTypeEnum; } return IfcFlowTreatmentDeviceType::getArgumentEntity(i); } @@ -44442,7 +43024,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFilterType (IfcAbstractEntity* e); - IfcFilterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); + IfcFilterType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFilterType > list; }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: @@ -44482,7 +43064,7 @@ class IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v); + void PredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminalType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFireSuppressionTerminalTypeEnum; } return IfcFlowTerminalType::getArgumentEntity(i); } @@ -44492,7 +43074,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFireSuppressionTerminalType (IfcAbstractEntity* e); - IfcFireSuppressionTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); + IfcFireSuppressionTerminalType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType > list; }; /// The distribution flow element IfcFlowController defines @@ -44515,7 +43097,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowController (IfcAbstractEntity* e); - IfcFlowController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowController (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowController > list; }; /// The distribution flow element IfcFlowFitting defines the occurrence of a junction or transition in a flow distribution system, such as an elbow or tee. Its type is defined by IfcFlowFittingType or its subtypes. @@ -44534,7 +43116,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFitting (IfcAbstractEntity* e); - IfcFlowFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowFitting (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowFitting > list; }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: @@ -44571,7 +43153,7 @@ class IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; - void setPredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v); + void PredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcFlowInstrumentTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -44581,7 +43163,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowInstrumentType (IfcAbstractEntity* e); - IfcFlowInstrumentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); + IfcFlowInstrumentType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowInstrumentType > list; }; /// A flow meter is a device that is used to measure the flow rate in a system. @@ -44666,10 +43248,8 @@ public: /// Figure 226 — Flow meter port use class IfcFlowMeter : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFlowMeter - bool hasPredefinedType() const; - IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; - void setPredefinedType(IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v); + boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFlowMeterTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -44679,7 +43259,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMeter (IfcAbstractEntity* e); - IfcFlowMeter (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType); + IfcFlowMeter (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowMeter > list; }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. @@ -44698,7 +43278,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDevice (IfcAbstractEntity* e); - IfcFlowMovingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowMovingDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. @@ -44735,7 +43315,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegment (IfcAbstractEntity* e); - IfcFlowSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowSegment (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines @@ -44759,7 +43339,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDevice (IfcAbstractEntity* e); - IfcFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowStorageDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the @@ -44784,7 +43364,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminal (IfcAbstractEntity* e); - IfcFlowTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowTerminal (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTerminal > list; }; /// The distribution flow element IfcFlowTreatmentDevice defines the occurrence of a device typically used to remove unwanted matter from a fluid, either liquid or gas, and typically participates in a flow distribution system. Its type is defined by IfcFlowTreatmentDeviceType or its subtypes. @@ -44803,7 +43383,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDevice (IfcAbstractEntity* e); - IfcFlowTreatmentDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcFlowTreatmentDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice > list; }; /// A footing is a part of the foundation of a structure that spreads and transmits the load to the soil, either directly or via piles. @@ -44830,13 +43410,11 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcBeamStandardCase or IfcSlabStandardCase should be used when applicable. class IfcFooting : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFooting - bool hasPredefinedType() const; /// The generic type of the footing. /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. - IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; - void setPredefinedType(IfcFootingTypeEnum::IfcFootingTypeEnum v); + boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFootingTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -44846,7 +43424,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFooting (IfcAbstractEntity* e); - IfcFooting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType); + IfcFooting (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFooting > list; }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. @@ -44901,10 +43479,8 @@ public: /// CoolingOutlet (NOTDEFINED, SOURCE): Outlet of substance to be cooled. class IfcHeatExchanger : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcHeatExchanger - bool hasPredefinedType() const; - IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; - void setPredefinedType(IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v); + boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcHeatExchangerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -44914,7 +43490,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHeatExchanger (IfcAbstractEntity* e); - IfcHeatExchanger (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType); + IfcHeatExchanger (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcHeatExchanger > list; }; /// A humidifier is a device that adds moisture into the air. @@ -44962,10 +43538,8 @@ public: /// AirOut (AIRCONDITIONING, SOURCE): Outgoing air saturated with vapor. class IfcHumidifier : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcHumidifier - bool hasPredefinedType() const; - IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; - void setPredefinedType(IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v); + boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcHumidifierTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -44975,7 +43549,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHumidifier (IfcAbstractEntity* e); - IfcHumidifier (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType); + IfcHumidifier (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifier > list; }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. @@ -45037,10 +43611,8 @@ public: /// Outlet (DRAINAGE, SOURCE): Outlet drainage. class IfcInterceptor : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcInterceptor - bool hasPredefinedType() const; - IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType() const; - void setPredefinedType(IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v); + boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcInterceptorTypeEnum; } return IfcFlowTreatmentDevice::getArgumentEntity(i); } @@ -45050,7 +43622,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInterceptor (IfcAbstractEntity* e); - IfcInterceptor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType); + IfcInterceptor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcInterceptor > list; }; /// A junction box is an enclosure within which cables are connected. @@ -45121,10 +43693,8 @@ public: /// Figure 201 — Junction box port use class IfcJunctionBox : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcJunctionBox - bool hasPredefinedType() const; - IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; - void setPredefinedType(IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v); + boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFitting::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcJunctionBoxTypeEnum; } return IfcFlowFitting::getArgumentEntity(i); } @@ -45134,7 +43704,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcJunctionBox (IfcAbstractEntity* e); - IfcJunctionBox (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType); + IfcJunctionBox (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcJunctionBox > list; }; /// A lamp is an artificial light source such as a light bulb or tube. @@ -45186,10 +43756,8 @@ public: /// Figure 203 — Lamp port use class IfcLamp : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLamp - bool hasPredefinedType() const; - IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; - void setPredefinedType(IfcLampTypeEnum::IfcLampTypeEnum v); + boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLampTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -45199,7 +43767,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLamp (IfcAbstractEntity* e); - IfcLamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType); + IfcLamp (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcLamp > list; }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. @@ -45270,10 +43838,8 @@ public: /// Figure 205 — Light fixture port use class IfcLightFixture : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcLightFixture - bool hasPredefinedType() const; - IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; - void setPredefinedType(IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v); + boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcLightFixtureTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -45283,7 +43849,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightFixture (IfcAbstractEntity* e); - IfcLightFixture (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType); + IfcLightFixture (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcLightFixture > list; }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. @@ -45332,10 +43898,8 @@ public: /// VacuumOut (VACUUM, SOURCE): Provides suction. class IfcMedicalDevice : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMedicalDevice - bool hasPredefinedType() const; - IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v); + boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcMedicalDeviceTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -45345,7 +43909,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMedicalDevice (IfcAbstractEntity* e); - IfcMedicalDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType); + IfcMedicalDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMedicalDevice > list; }; /// An IfcMember is a @@ -45600,14 +44164,12 @@ public: /// IfcRepresentationMap. class IfcMember : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMember - bool hasPredefinedType() const; /// Predefined generic type for a member that is specified in an enumeration. There may be a property set given for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcMemberType is assigned, providing its own IfcMemberType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; - void setPredefinedType(IfcMemberTypeEnum::IfcMemberTypeEnum v); + boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcMemberTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -45617,7 +44179,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMember (IfcAbstractEntity* e); - IfcMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); + IfcMember (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMember > list; }; /// The standard member, @@ -45870,7 +44432,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMemberStandardCase (IfcAbstractEntity* e); - IfcMemberStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); + IfcMemberStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMemberStandardCase > list; }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. @@ -45916,10 +44478,8 @@ public: /// Drive (NOTDEFINED, SOURCE): Connection to the driven device. class IfcMotorConnection : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcMotorConnection - bool hasPredefinedType() const; - IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; - void setPredefinedType(IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v); + boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcMotorConnectionTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -45929,7 +44489,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMotorConnection (IfcAbstractEntity* e); - IfcMotorConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType); + IfcMotorConnection (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMotorConnection > list; }; /// Definition from ISO/CD 10303-42:1992ÿ This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. @@ -46019,10 +44579,8 @@ public: /// Figure 207 — Outlet port use class IfcOutlet : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcOutlet - bool hasPredefinedType() const; - IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; - void setPredefinedType(IfcOutletTypeEnum::IfcOutletTypeEnum v); + boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcOutletTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -46032,7 +44590,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOutlet (IfcAbstractEntity* e); - IfcOutlet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType); + IfcOutlet (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcOutlet > list; }; /// A pile is a slender timber, concrete, or steel structural element, driven, jetted, or otherwise embedded on end in the ground for the purpose of supporting a load. @@ -46055,20 +44613,16 @@ public: /// Local placement and product representations are defined by the supertype IfcBuildingElement. Standard representations as defined at IfcColumnStandardCase should be used when applicable. class IfcPile : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPile - bool hasPredefinedType() const; /// The predefined generic type of the pile according to function. /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. - IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; - void setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); - /// Whether the optional attribute ConstructionType is defined for this IfcPile - bool hasConstructionType() const; + boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v); /// General designator for how the pile is constructed. /// /// IFC 2x4 change:  Material profile association capability by means of IfcRelAssociatesMaterial has been added. The attribute ConstructionType should not be used whenever its information can be provided by a material profile set, either associated with the IfcPile object or, if present, with a corresponding instance of IfcPileType. - IfcPileConstructionEnum::IfcPileConstructionEnum ConstructionType() const; - void setConstructionType(IfcPileConstructionEnum::IfcPileConstructionEnum v); + boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > ConstructionType() const; + void ConstructionType(boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPileTypeEnum; case 9: return Type::IfcPileConstructionEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -46078,7 +44632,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPile (IfcAbstractEntity* e); - IfcPile (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); + IfcPile (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); typedef IfcTemplatedEntityList< IfcPile > list; }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. @@ -46168,10 +44722,8 @@ public: /// Figure 227 — Pipe fitting port use class IfcPipeFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPipeFitting - bool hasPredefinedType() const; - IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v); + boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFitting::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPipeFittingTypeEnum; } return IfcFlowFitting::getArgumentEntity(i); } @@ -46181,7 +44733,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeFitting (IfcAbstractEntity* e); - IfcPipeFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType); + IfcPipeFitting (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeFitting > list; }; /// A pipe segment is used to typically join two sections of a piping network. @@ -46246,10 +44798,8 @@ public: /// Figure 228 — Pipe segment port use class IfcPipeSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPipeSegment - bool hasPredefinedType() const; - IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v); + boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPipeSegmentTypeEnum; } return IfcFlowSegment::getArgumentEntity(i); } @@ -46259,7 +44809,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeSegment (IfcAbstractEntity* e); - IfcPipeSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType); + IfcPipeSegment (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeSegment > list; }; /// Definition from IAI: An IfcPlate is a planar and @@ -46492,14 +45042,12 @@ public: /// IfcRepresentationMap. class IfcPlate : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPlate - bool hasPredefinedType() const; /// Predefined generic type for a plate that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcPlateType is assigned, providing its own IfcPlateType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; - void setPredefinedType(IfcPlateTypeEnum::IfcPlateTypeEnum v); + boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPlateTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -46509,7 +45057,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlate (IfcAbstractEntity* e); - IfcPlate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); + IfcPlate (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPlate > list; }; /// The standard plate, @@ -46676,7 +45224,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlateStandardCase (IfcAbstractEntity* e); - IfcPlateStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); + IfcPlateStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPlateStandardCase > list; }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. @@ -46757,10 +45305,8 @@ public: /// Load (ELECTRICAL, SOURCE): The load protected by this device, typically a cable connected to a device or the first junction box of a circuit. class IfcProtectiveDevice : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDevice - bool hasPredefinedType() const; - IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v); + boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcProtectiveDeviceTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -46770,7 +45316,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDevice (IfcAbstractEntity* e); - IfcProtectiveDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType); + IfcProtectiveDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDevice > list; }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: @@ -46817,7 +45363,7 @@ class IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElement public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType() const; - void setPredefinedType(IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v); + void PredefinedType(IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcProtectiveDeviceTrippingUnitTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -46827,7 +45373,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceTrippingUnitType (IfcAbstractEntity* e); - IfcProtectiveDeviceTrippingUnitType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnitType > list; }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. @@ -46881,10 +45427,8 @@ public: /// Figure 229 — Pump port use class IfcPump : public IfcFlowMovingDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcPump - bool hasPredefinedType() const; - IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; - void setPredefinedType(IfcPumpTypeEnum::IfcPumpTypeEnum v); + boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPumpTypeEnum; } return IfcFlowMovingDevice::getArgumentEntity(i); } @@ -46894,7 +45438,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPump (IfcAbstractEntity* e); - IfcPump (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType); + IfcPump (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPump > list; }; /// Definition of IAI: The railing is a frame assembly @@ -47031,13 +45575,11 @@ public: /// 'MappedRepresentation' class IfcRailing : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRailing - bool hasPredefinedType() const; /// Predefined generic types for a railing that are specified in an enumeration. There may be a property set given for the predefined types. /// NOTE: The use of the predefined type directly at the occurrence object level of IfcRailing is only permitted, if no type object IfcRailingType is assigned. /// IFC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute. - IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; - void setPredefinedType(IfcRailingTypeEnum::IfcRailingTypeEnum v); + boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRailingTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -47047,7 +45589,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailing (IfcAbstractEntity* e); - IfcRailing (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); + IfcRailing (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor @@ -47185,15 +45727,13 @@ public: /// Figure 111 — Ramp placement class IfcRamp : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRamp - bool hasPredefinedType() const; /// Predefined shape types for a ramp that are specified in an enumeration. /// /// NOTE The PredefinedType shall only be used, if no type object IfcRampType is assigned, providing its own IfcRampType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange. - IfcRampTypeEnum::IfcRampTypeEnum PredefinedType() const; - void setPredefinedType(IfcRampTypeEnum::IfcRampTypeEnum v); + boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRampTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -47203,7 +45743,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRamp (IfcAbstractEntity* e); - IfcRamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType); + IfcRamp (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally @@ -47396,14 +45936,12 @@ public: /// Figure 114 — Ramp flight body class IfcRampFlight : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRampFlight - bool hasPredefinedType() const; /// Predefined generic type for a ramp flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcRampFlightType is assigned, providing its own IfcRampFlightType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; - void setPredefinedType(IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v); + boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRampFlightTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -47413,7 +45951,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlight (IfcAbstractEntity* e); - IfcRampFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType); + IfcRampFlight (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRampFlight > list; }; /// A rational B-spline curve with knots is a B-spline curve @@ -47456,7 +45994,7 @@ class IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. std::vector< double > /*[2:?]*/ WeightsData() const; - void setWeightsData(std::vector< double > /*[2:?]*/ v); + void WeightsData(std::vector< double > /*[2:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcBSplineCurveWithKnots::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; } return IfcBSplineCurveWithKnots::getArgumentEntity(i); } @@ -47499,27 +46037,17 @@ public: /// Simplified geometric representations may be used based on local agreements. class IfcReinforcingBar : public IfcReinforcingElement { public: - /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBar - bool hasNominalDiameter() const; - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBar - bool hasCrossSectionArea() const; - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar - bool hasBarLength() const; - double BarLength() const; - void setBarLength(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingBar - bool hasPredefinedType() const; + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); + boost::optional< double > CrossSectionArea() const; + void CrossSectionArea(boost::optional< double > v); + boost::optional< double > BarLength() const; + void BarLength(boost::optional< double > v); /// The predefined type is always BAR. - IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType() const; - void setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBar - bool hasBarSurface() const; - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; - void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); + boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v); + boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > BarSurface() const; + void BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v); virtual unsigned int getArgumentCount() const { return 14; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENUMERATION; case 13: return IfcUtil::Argument_ENUMERATION; } return IfcReinforcingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcAreaMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcReinforcingBarTypeEnum; case 13: return Type::IfcReinforcingBarSurfaceEnum; } return IfcReinforcingElement::getArgumentEntity(i); } @@ -47529,7 +46057,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingBar (IfcAbstractEntity* e); - IfcReinforcingBar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); + IfcReinforcingBar (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); typedef IfcTemplatedEntityList< IfcReinforcingBar > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, @@ -47552,35 +46080,23 @@ class IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType() const; - void setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v); - /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBarType - bool hasNominalDiameter() const; + void PredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v); /// The nominal diameter defining the cross-section size of the reinforcing bar. - double NominalDiameter() const; - void setNominalDiameter(double v); - /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBarType - bool hasCrossSectionArea() const; + boost::optional< double > NominalDiameter() const; + void NominalDiameter(boost::optional< double > v); /// The effective cross-section area of the reinforcing bar. - double CrossSectionArea() const; - void setCrossSectionArea(double v); - /// Whether the optional attribute BarLength is defined for this IfcReinforcingBarType - bool hasBarLength() const; + boost::optional< double > CrossSectionArea() const; + void CrossSectionArea(boost::optional< double > v); /// The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends. - double BarLength() const; - void setBarLength(double v); - /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBarType - bool hasBarSurface() const; + boost::optional< double > BarLength() const; + void BarLength(boost::optional< double > v); /// Indicator for whether the bar surface is plain or textured. - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; - void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); - /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingBarType - bool hasBendingShapeCode() const; - std::string BendingShapeCode() const; - void setBendingShapeCode(std::string v); - /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingBarType - bool hasBendingParameters() const; - IfcEntityList::ptr BendingParameters() const; - void setBendingParameters(IfcEntityList::ptr v); + boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > BarSurface() const; + void BarSurface(boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v); + boost::optional< std::string > BendingShapeCode() const; + void BendingShapeCode(boost::optional< std::string > v); + boost::optional< IfcEntityList::ptr > BendingParameters() const; + void BendingParameters(boost::optional< IfcEntityList::ptr > v); virtual unsigned int getArgumentCount() const { return 16; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_ENUMERATION; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_ENTITY_LIST; } return IfcReinforcingElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcReinforcingBarTypeEnum; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcAreaMeasure; case 12: return Type::IfcPositiveLengthMeasure; case 13: return Type::IfcReinforcingBarSurfaceEnum; case 14: return Type::IfcLabel; case 15: return Type::IfcBendingParameterSelect; } return IfcReinforcingElementType::getArgumentEntity(i); } @@ -47590,7 +46106,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingBarType (IfcAbstractEntity* e); - IfcReinforcingBarType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters); typedef IfcTemplatedEntityList< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. @@ -47740,13 +46256,11 @@ public: /// Figure 119 — Roof placement class IfcRoof : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcRoof - bool hasPredefinedType() const; /// Predefined shape types for a roof that are specified in an enumeration. /// /// IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange. - IfcRoofTypeEnum::IfcRoofTypeEnum PredefinedType() const; - void setPredefinedType(IfcRoofTypeEnum::IfcRoofTypeEnum v); + boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcRoofTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -47756,7 +46270,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoof (IfcAbstractEntity* e); - IfcRoof (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType); + IfcRoof (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRoof > list; }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. @@ -47887,10 +46401,8 @@ public: /// Drainage (DRAINAGE, SOURCE): Drainage. class IfcSanitaryTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSanitaryTerminal - bool hasPredefinedType() const; - IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v); + boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSanitaryTerminalTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -47900,7 +46412,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSanitaryTerminal (IfcAbstractEntity* e); - IfcSanitaryTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType); + IfcSanitaryTerminal (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSanitaryTerminal > list; }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: @@ -47955,7 +46467,7 @@ class IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; - void setPredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v); + void PredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcSensorTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -47965,7 +46477,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSensorType (IfcAbstractEntity* e); - IfcSensorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); + IfcSensorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSensorType > list; }; /// Definition from IAI: Shading devices are purpose built @@ -47984,12 +46496,10 @@ public: /// IFC2x4 class IfcShadingDevice : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcShadingDevice - bool hasPredefinedType() const; /// Predefined generic type for a shading device that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcShadingDeviceType is assigned, providing its own IfcShadingDeviceType.PredefinedType. - IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v); + boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcShadingDeviceTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -47999,7 +46509,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShadingDevice (IfcAbstractEntity* e); - IfcShadingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType); + IfcShadingDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcShadingDevice > list; }; /// A slab is a component of the @@ -48264,14 +46774,12 @@ public: /// Figure 121 — Slab body clipping class IfcSlab : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSlab - bool hasPredefinedType() const; /// Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType. /// /// FC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute. - IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; - void setPredefinedType(IfcSlabTypeEnum::IfcSlabTypeEnum v); + boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSlabTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -48281,7 +46789,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlab (IfcAbstractEntity* e); - IfcSlab (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlab (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlab > list; }; /// The IfcSlabElementedCase @@ -48378,7 +46886,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabElementedCase (IfcAbstractEntity* e); - IfcSlabElementedCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlabElementedCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabElementedCase > list; }; /// The standard slab, @@ -48551,7 +47059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabStandardCase (IfcAbstractEntity* e); - IfcSlabStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlabStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabStandardCase > list; }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. @@ -48603,10 +47111,8 @@ public: /// PowerGeneration (POWERGENERATION, SOURCE): Converted electrical power. class IfcSolarDevice : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSolarDevice - bool hasPredefinedType() const; - IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v); + boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSolarDeviceTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -48616,7 +47122,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSolarDevice (IfcAbstractEntity* e); - IfcSolarDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType); + IfcSolarDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSolarDevice > list; }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. @@ -48683,10 +47189,8 @@ public: /// Figure 230 — Space heater port use class IfcSpaceHeater : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSpaceHeater - bool hasPredefinedType() const; - IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; - void setPredefinedType(IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v); + boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSpaceHeaterTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -48696,7 +47200,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceHeater (IfcAbstractEntity* e); - IfcSpaceHeater (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType); + IfcSpaceHeater (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSpaceHeater > list; }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). @@ -48751,10 +47255,8 @@ public: /// Rain (RAINWATER, SOURCE): Rainwater outlet. class IfcStackTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcStackTerminal - bool hasPredefinedType() const; - IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v); + boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcStackTerminalTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -48764,7 +47266,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStackTerminal (IfcAbstractEntity* e); - IfcStackTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType); + IfcStackTerminal (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcStackTerminal > list; }; /// Definition from ISO 6707-1:1989: Construction comprising @@ -48934,13 +47436,11 @@ public: /// Figure 128 — Stair placement class IfcStair : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcStair - bool hasPredefinedType() const; /// Predefined shape types for a stair that are specified in an enumeration. /// /// IFC2x4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange. - IfcStairTypeEnum::IfcStairTypeEnum PredefinedType() const; - void setPredefinedType(IfcStairTypeEnum::IfcStairTypeEnum v); + boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcStairTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -48950,7 +47450,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStair (IfcAbstractEntity* e); - IfcStair (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType); + IfcStair (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcStair > list; }; /// A stair flight is an assembly of @@ -49122,42 +47622,32 @@ public: /// Figure 131 — Stair flight body class IfcStairFlight : public IfcBuildingElement { public: - /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight - bool hasNumberOfRiser() const; /// Number of the risers included in the stair flight /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfRisers instead. - int NumberOfRiser() const; - void setNumberOfRiser(int v); - /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight - bool hasNumberOfTreads() const; + boost::optional< int > NumberOfRiser() const; + void NumberOfRiser(boost::optional< int > v); /// Number of treads included in the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfTreads instead. - int NumberOfTreads() const; - void setNumberOfTreads(int v); - /// Whether the optional attribute RiserHeight is defined for this IfcStairFlight - bool hasRiserHeight() const; + boost::optional< int > NumberOfTreads() const; + void NumberOfTreads(boost::optional< int > v); /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - double RiserHeight() const; - void setRiserHeight(double v); - /// Whether the optional attribute TreadLength is defined for this IfcStairFlight - bool hasTreadLength() const; + boost::optional< double > RiserHeight() const; + void RiserHeight(boost::optional< double > v); /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - double TreadLength() const; - void setTreadLength(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcStairFlight - bool hasPredefinedType() const; + boost::optional< double > TreadLength() const; + void TreadLength(boost::optional< double > v); /// Predefined generic type for a stair flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcStairFlightType is assigned, providing its own IfcStairFlightType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; - void setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); + boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_INT; case 9: return IfcUtil::Argument_INT; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; case 9: return Type::UNDEFINED; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -49167,7 +47657,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlight (IfcAbstractEntity* e); - IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); + IfcStairFlight (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlight > list; }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. @@ -49197,9 +47687,7 @@ class IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType() const; - void setPredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v); - /// Whether the optional attribute OrientationOf2DPlane is defined for this IfcStructuralAnalysisModel - bool hasOrientationOf2DPlane() const; + void PredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v); /// If the selected model type (PredefinedType) describes a 2D system, the orientation defines /// the analysis plane (P[1], P[2]) and the normal to the analysis plane (P[3]). This is needed because /// structural items and activities are always defined in three-dimensional space even if they are @@ -49210,27 +47698,21 @@ public: /// In case of predefined type OUT_PLANE_LOADING_2D, only the P[3] component of loads and their /// effects is meant to be analyzed. This is used for beam grids and for typical slab analyses. /// In case of predefined type LOADING_3D, OrientationOf2DPlane shall be omitted. - IfcAxis2Placement3D* OrientationOf2DPlane() const; - void setOrientationOf2DPlane(IfcAxis2Placement3D* v); - /// Whether the optional attribute LoadedBy is defined for this IfcStructuralAnalysisModel - bool hasLoadedBy() const; + boost::optional< IfcAxis2Placement3D* > OrientationOf2DPlane() const; + void OrientationOf2DPlane(boost::optional< IfcAxis2Placement3D* > v); /// References to all load groups to be analyzed. - IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr LoadedBy() const; - void setLoadedBy(IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr v); - /// Whether the optional attribute HasResults is defined for this IfcStructuralAnalysisModel - bool hasHasResults() const; + boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > LoadedBy() const; + void LoadedBy(boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v); /// References to all result groups available for this structural analysis model. - IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr HasResults() const; - void setHasResults(IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr v); - /// Whether the optional attribute SharedPlacement is defined for this IfcStructuralAnalysisModel - bool hasSharedPlacement() const; + boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > HasResults() const; + void HasResults(boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v); /// Object placement which shall be common to all items and activities which are grouped into this instance of IfcStructuralAnalysisModel. This placement establishes a coordinate system which is referred to as 'global coordinate system' in use definitions of various classes of structural items and activities. /// /// NOTE  Most commonly, but not necessarily, the SharedPlacement is an IfcLocalPlacement whose z axis is parallel with the z axis of the IfcProject's world coordinate system and directed like the WCS z axis (i.e. pointing "upwards") or directed against the WCS z axis (i.e. points "downwards"). /// /// NOTE  Per informal proposition, this attribute is not optional as soon as at least one IfcStructuralItem is grouped into the instance of IfcStructuralAnalysisModel. - IfcObjectPlacement* SharedPlacement() const; - void setSharedPlacement(IfcObjectPlacement* v); + boost::optional< IfcObjectPlacement* > SharedPlacement() const; + void SharedPlacement(boost::optional< IfcObjectPlacement* > v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENTITY_LIST; case 9: return IfcUtil::Argument_ENTITY; } return IfcSystem::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisModelTypeEnum; case 6: return Type::IfcAxis2Placement3D; case 7: return Type::IfcStructuralLoadGroup; case 8: return Type::IfcStructuralResultGroup; case 9: return Type::IfcObjectPlacement; } return IfcSystem::getArgumentEntity(i); } @@ -49240,7 +47722,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAnalysisModel (IfcAbstractEntity* e); - IfcStructuralAnalysisModel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement); + IfcStructuralAnalysisModel (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, boost::optional< IfcAxis2Placement3D* > v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, boost::optional< IfcObjectPlacement* > v10_SharedPlacement); typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. @@ -49248,15 +47730,13 @@ public: /// HISTORY: New entity in IFC 2x4. class IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: - /// Whether the optional attribute SelfWeightCoefficients is defined for this IfcStructuralLoadCase - bool hasSelfWeightCoefficients() const; /// The self weight coefficients specify ratios at which loads due to weight of members shall be included in the load case. These loads are not explicitly modeled as instances of IfcStructuralAction. Instead they shall be calculated according to geometry, section, and material of each member. /// /// The three components of the self weight vector correspond with the x,y,z directions of the so-called global coordinates, i.e. the directions of the shared ObjectPlacement of all items in an IfcStructuralAnalysisModel. For example, if the object placement defines a z axis which is upright like the IfcProject's world coordinate system, then the self weight coefficients would typically be [0.,0.,-1.] in a load case of dead loads with self weight. /// /// The overall coefficient in the inherited attribute Coefficient shall not be applied to SelfWeightCoefficients of the same instance of IfcStructuralLoadCase. It only applies to actions and load groups which are grouped below the load case, not to the load case's computed self weight. - std::vector< double > /*[3:3]*/ SelfWeightCoefficients() const; - void setSelfWeightCoefficients(std::vector< double > /*[3:3]*/ v); + boost::optional< std::vector< double > /*[3:3]*/ > SelfWeightCoefficients() const; + void SelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcStructuralLoadGroup::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 10: return Type::IfcRatioMeasure; } return IfcStructuralLoadGroup::getArgumentEntity(i); } @@ -49266,7 +47746,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadCase (IfcAbstractEntity* e); - IfcStructuralLoadCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); typedef IfcTemplatedEntityList< IfcStructuralLoadCase > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. @@ -49287,7 +47767,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPlanarAction (IfcAbstractEntity* e); - IfcStructuralPlanarAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); + IfcStructuralPlanarAction (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. @@ -49380,10 +47860,8 @@ public: /// Figure 209 — Switching device port use class IfcSwitchingDevice : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSwitchingDevice - bool hasPredefinedType() const; - IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v); + boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSwitchingDeviceTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -49393,7 +47871,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSwitchingDevice (IfcAbstractEntity* e); - IfcSwitchingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType); + IfcSwitchingDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSwitchingDevice > list; }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. @@ -49458,10 +47936,8 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IfcTank : public IfcFlowStorageDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTank - bool hasPredefinedType() const; - IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; - void setPredefinedType(IfcTankTypeEnum::IfcTankTypeEnum v); + boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowStorageDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTankTypeEnum; } return IfcFlowStorageDevice::getArgumentEntity(i); } @@ -49471,7 +47947,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTank (IfcAbstractEntity* e); - IfcTank (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType); + IfcTank (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTank > list; }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. @@ -49518,10 +47994,8 @@ public: /// Load (ELECTRICAL, SOURCE): Transformed load. class IfcTransformer : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTransformer - bool hasPredefinedType() const; - IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; - void setPredefinedType(IfcTransformerTypeEnum::IfcTransformerTypeEnum v); + boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTransformerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -49531,7 +48005,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransformer (IfcAbstractEntity* e); - IfcTransformer (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType); + IfcTransformer (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTransformer > list; }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. @@ -49583,10 +48057,8 @@ public: /// Outlet (NOTDEFINED, SOURCE): Outlet. class IfcTubeBundle : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcTubeBundle - bool hasPredefinedType() const; - IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; - void setPredefinedType(IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v); + boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcTubeBundleTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -49596,7 +48068,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTubeBundle (IfcAbstractEntity* e); - IfcTubeBundle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType); + IfcTubeBundle (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTubeBundle > list; }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: @@ -49629,7 +48101,7 @@ class IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v); + void PredefinedType(IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcUnitaryControlElementTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -49639,7 +48111,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryControlElementType (IfcAbstractEntity* e); - IfcUnitaryControlElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType); + IfcUnitaryControlElementType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryControlElementType > list; }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. @@ -49716,10 +48188,8 @@ public: /// Figure 232 — Unitary equipment port use class IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryEquipment - bool hasPredefinedType() const; - IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v); + boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcUnitaryEquipmentTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -49729,7 +48199,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryEquipment (IfcAbstractEntity* e); - IfcUnitaryEquipment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType); + IfcUnitaryEquipment (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryEquipment > list; }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. @@ -49920,10 +48390,8 @@ public: /// Figure 233 — Valve port use class IfcValve : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcValve - bool hasPredefinedType() const; - IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; - void setPredefinedType(IfcValveTypeEnum::IfcValveTypeEnum v); + boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcValveTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -49933,7 +48401,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcValve (IfcAbstractEntity* e); - IfcValve (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType); + IfcValve (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcValve > list; }; /// Definition from ISO 6707-1:1989: Vertical construction @@ -50180,14 +48648,12 @@ public: /// IfcRelConnectsPathElements. class IfcWall : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWall - bool hasPredefinedType() const; /// Predefined generic type for a wall that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWallType is assigned, providing its own IfcWallType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; - void setPredefinedType(IfcWallTypeEnum::IfcWallTypeEnum v); + boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWallTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -50197,7 +48663,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWall (IfcAbstractEntity* e); - IfcWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); + IfcWall (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWall > list; }; /// The IfcWallElementedCase @@ -50309,7 +48775,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallElementedCase (IfcAbstractEntity* e); - IfcWallElementedCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); + IfcWallElementedCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWallElementedCase > list; }; /// The IfcWallStandardCase defines a wall with certain @@ -50525,7 +48991,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallStandardCase (IfcAbstractEntity* e); - IfcWallStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); + IfcWallStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWallStandardCase > list; }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. @@ -50634,10 +49100,8 @@ public: /// Outlet (WASTE, SOURCE): Waste outlet. class IfcWasteTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcWasteTerminal - bool hasPredefinedType() const; - IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v); + boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWasteTerminalTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -50647,7 +49111,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWasteTerminal (IfcAbstractEntity* e); - IfcWasteTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType); + IfcWasteTerminal (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWasteTerminal > list; }; /// Definition form ISO 6707-1:1989: Construction for @@ -51010,41 +49474,31 @@ public: /// Figure 144 — Window operations class IfcWindow : public IfcBuildingElement { public: - /// Whether the optional attribute OverallHeight is defined for this IfcWindow - bool hasOverallHeight() const; /// Overall measure of the height, it reflects the Z Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallHeight should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be taller then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallHeight shall still be given as the window opening height, and not as the total height of the window lining. - double OverallHeight() const; - void setOverallHeight(double v); - /// Whether the optional attribute OverallWidth is defined for this IfcWindow - bool hasOverallWidth() const; + boost::optional< double > OverallHeight() const; + void OverallHeight(boost::optional< double > v); /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. - double OverallWidth() const; - void setOverallWidth(double v); - /// Whether the optional attribute PredefinedType is defined for this IfcWindow - bool hasPredefinedType() const; + boost::optional< double > OverallWidth() const; + void OverallWidth(boost::optional< double > v); /// Predefined generic type for a window that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcWindowType is assigned, providing its own IfcWindowType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcWindowTypeEnum::IfcWindowTypeEnum PredefinedType() const; - void setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v); - /// Whether the optional attribute PartitioningType is defined for this IfcWindow - bool hasPartitioningType() const; + boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v); /// Type defining the general layout of the window in terms of the partitioning of panels. /// /// NOTE The PartitioningType shall only be used, if no type object IfcWindowType is assigned, providing its own IfcWindowType.PartitioningType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum PartitioningType() const; - void setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v); - /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindow - bool hasUserDefinedPartitioningType() const; - std::string UserDefinedPartitioningType() const; - void setUserDefinedPartitioningType(std::string v); + boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > PartitioningType() const; + void PartitioningType(boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v); + boost::optional< std::string > UserDefinedPartitioningType() const; + void UserDefinedPartitioningType(boost::optional< std::string > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcPositiveLengthMeasure; case 9: return Type::IfcPositiveLengthMeasure; case 10: return Type::IfcWindowTypeEnum; case 11: return Type::IfcWindowTypePartitioningEnum; case 12: return Type::IfcLabel; } return IfcBuildingElement::getArgumentEntity(i); } @@ -51054,7 +49508,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindow (IfcAbstractEntity* e); - IfcWindow (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindow (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); typedef IfcTemplatedEntityList< IfcWindow > list; }; /// The standard window, @@ -51182,7 +49636,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowStandardCase (IfcAbstractEntity* e); - IfcWindowStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); + IfcWindowStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); typedef IfcTemplatedEntityList< IfcWindowStandardCase > list; }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: @@ -51220,7 +49674,7 @@ class IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v); + void PredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcActuatorTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -51230,7 +49684,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActuatorType (IfcAbstractEntity* e); - IfcActuatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); + IfcActuatorType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcActuatorType > list; }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. @@ -51292,10 +49746,8 @@ public: /// Figure 211 — Air terminal port use class IfcAirTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminal - bool hasPredefinedType() const; - IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v); + boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAirTerminalTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -51305,7 +49757,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminal (IfcAbstractEntity* e); - IfcAirTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType); + IfcAirTerminal (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminal > list; }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". @@ -51352,10 +49804,8 @@ public: /// Outlet (AIRCONDITIONING, SOURCE): Outgoing regulated air. class IfcAirTerminalBox : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminalBox - bool hasPredefinedType() const; - IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v); + boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAirTerminalBoxTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -51365,7 +49815,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalBox (IfcAbstractEntity* e); - IfcAirTerminalBox (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType); + IfcAirTerminalBox (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalBox > list; }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. @@ -51415,10 +49865,8 @@ public: /// ExhaustOutlet (VENTILATION, SOURCE): Hotter return air out. class IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAirToAirHeatRecovery - bool hasPredefinedType() const; - IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; - void setPredefinedType(IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v); + boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAirToAirHeatRecoveryTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -51428,7 +49876,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirToAirHeatRecovery (IfcAbstractEntity* e); - IfcAirToAirHeatRecovery (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType); + IfcAirToAirHeatRecovery (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAirToAirHeatRecovery > list; }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: @@ -51461,7 +49909,7 @@ class IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; - void setPredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v); + void PredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcAlarmTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -51471,7 +49919,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAlarmType (IfcAbstractEntity* e); - IfcAlarmType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); + IfcAlarmType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAlarmType > list; }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. @@ -51654,10 +50102,8 @@ public: /// Output (AUDIOVISUAL, SOURCE): Rendered media content. class IfcAudioVisualAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAudioVisualAppliance - bool hasPredefinedType() const; - IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v); + boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAudioVisualApplianceTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -51667,7 +50113,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAudioVisualAppliance (IfcAbstractEntity* e); - IfcAudioVisualAppliance (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType); + IfcAudioVisualAppliance (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAudioVisualAppliance > list; }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. @@ -51909,14 +50355,12 @@ public: /// the IfcRepresentationMap. class IfcBeam : public IfcBuildingElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBeam - bool hasPredefinedType() const; /// Predefined generic type for a beam that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// NOTE The PredefinedType shall only be used, if no type object IfcBeamType is assigned, providing its own IfcBeamType.PredefinedType. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; - void setPredefinedType(IfcBeamTypeEnum::IfcBeamTypeEnum v); + boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcBeamTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } @@ -51926,7 +50370,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeam (IfcAbstractEntity* e); - IfcBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); + IfcBeam (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBeam > list; }; /// The standard beam, @@ -52191,7 +50635,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeamStandardCase (IfcAbstractEntity* e); - IfcBeamStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); + IfcBeamStandardCase (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBeamStandardCase > list; }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. @@ -52265,10 +50709,8 @@ public: /// Figure 213 — Boiler port use class IfcBoiler : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBoiler - bool hasPredefinedType() const; - IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; - void setPredefinedType(IfcBoilerTypeEnum::IfcBoilerTypeEnum v); + boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcBoilerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -52278,7 +50720,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoiler (IfcAbstractEntity* e); - IfcBoiler (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType); + IfcBoiler (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBoiler > list; }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. @@ -52324,10 +50766,8 @@ public: /// Gas (GAS, SINK): Gas inlet for burner. class IfcBurner : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcBurner - bool hasPredefinedType() const; - IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType() const; - void setPredefinedType(IfcBurnerTypeEnum::IfcBurnerTypeEnum v); + boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcBurnerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -52337,7 +50777,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBurner (IfcAbstractEntity* e); - IfcBurner (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType); + IfcBurner (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBurner > list; }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. @@ -52403,11 +50843,9 @@ public: /// Right (NOTDEFINED, SOURCE): Right connection. class IfcCableCarrierFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierFitting - bool hasPredefinedType() const; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. - IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v); + boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFitting::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCableCarrierFittingTypeEnum; } return IfcFlowFitting::getArgumentEntity(i); } @@ -52417,7 +50855,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierFitting (IfcAbstractEntity* e); - IfcCableCarrierFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType); + IfcCableCarrierFitting (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierFitting > list; }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. @@ -52481,11 +50919,9 @@ public: /// Tail (NOTDEFINED, SOURCE): Tail connection. class IfcCableCarrierSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierSegment - bool hasPredefinedType() const; /// Identifies the predefined types of cable carrier segment from which the type required may be set. - IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v); + boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCableCarrierSegmentTypeEnum; } return IfcFlowSegment::getArgumentEntity(i); } @@ -52495,7 +50931,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierSegment (IfcAbstractEntity* e); - IfcCableCarrierSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType); + IfcCableCarrierSegment (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierSegment > list; }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. @@ -52574,11 +51010,9 @@ public: /// Output (NOTDEFINED, SOURCE): The output of the connector. class IfcCableFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableFitting - bool hasPredefinedType() const; /// Identifies the predefined types of cable fitting from which the type required may be set. - IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v); + boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFitting::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCableFittingTypeEnum; } return IfcFlowFitting::getArgumentEntity(i); } @@ -52588,7 +51022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableFitting (IfcAbstractEntity* e); - IfcCableFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType); + IfcCableFitting (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableFitting > list; }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. @@ -52680,11 +51114,9 @@ public: /// Output (NOTDEFINED, SOURCE): Output end of the cable. class IfcCableSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCableSegment - bool hasPredefinedType() const; /// Identifies the predefined types of cable segment from which the type required may be set. - IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v); + boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCableSegmentTypeEnum; } return IfcFlowSegment::getArgumentEntity(i); } @@ -52694,7 +51126,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableSegment (IfcAbstractEntity* e); - IfcCableSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType); + IfcCableSegment (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableSegment > list; }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. @@ -52768,10 +51200,8 @@ public: /// Figure 215 — Chiller port use class IfcChiller : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcChiller - bool hasPredefinedType() const; - IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; - void setPredefinedType(IfcChillerTypeEnum::IfcChillerTypeEnum v); + boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcChillerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -52781,7 +51211,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChiller (IfcAbstractEntity* e); - IfcChiller (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType); + IfcChiller (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcChiller > list; }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. @@ -52852,10 +51282,8 @@ public: /// Figure 216 — Coil port use class IfcCoil : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCoil - bool hasPredefinedType() const; - IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoilTypeEnum::IfcCoilTypeEnum v); + boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCoilTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -52865,7 +51293,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoil (IfcAbstractEntity* e); - IfcCoil (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType); + IfcCoil (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCoil > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. @@ -52972,10 +51400,8 @@ public: /// Link#8 (DATA, SOURCE): A network link to a routed device such as a cable connecting to a computer. class IfcCommunicationsAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCommunicationsAppliance - bool hasPredefinedType() const; - IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v); + boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCommunicationsApplianceTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -52985,7 +51411,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCommunicationsAppliance (IfcAbstractEntity* e); - IfcCommunicationsAppliance (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType); + IfcCommunicationsAppliance (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCommunicationsAppliance > list; }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. @@ -53036,10 +51462,8 @@ public: /// Figure 217 — Compressor port use class IfcCompressor : public IfcFlowMovingDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCompressor - bool hasPredefinedType() const; - IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; - void setPredefinedType(IfcCompressorTypeEnum::IfcCompressorTypeEnum v); + boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCompressorTypeEnum; } return IfcFlowMovingDevice::getArgumentEntity(i); } @@ -53049,7 +51473,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompressor (IfcAbstractEntity* e); - IfcCompressor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType); + IfcCompressor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCompressor > list; }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. @@ -53120,10 +51544,8 @@ public: /// Figure 218 — Condenser port use class IfcCondenser : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCondenser - bool hasPredefinedType() const; - IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; - void setPredefinedType(IfcCondenserTypeEnum::IfcCondenserTypeEnum v); + boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCondenserTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -53133,7 +51555,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCondenser (IfcAbstractEntity* e); - IfcCondenser (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType); + IfcCondenser (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCondenser > list; }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: @@ -53176,7 +51598,7 @@ class IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; - void setPredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v); + void PredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElementType::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcControllerTypeEnum; } return IfcDistributionControlElementType::getArgumentEntity(i); } @@ -53186,7 +51608,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcControllerType (IfcAbstractEntity* e); - IfcControllerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); + IfcControllerType (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcControllerType > list; }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. @@ -53240,10 +51662,8 @@ public: /// ChilledWaterOut (CHILLEDWATER, SOURCE): Chilled water leaving. class IfcCooledBeam : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCooledBeam - bool hasPredefinedType() const; - IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; - void setPredefinedType(IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v); + boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCooledBeamTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -53253,7 +51673,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCooledBeam (IfcAbstractEntity* e); - IfcCooledBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType); + IfcCooledBeam (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCooledBeam > list; }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. @@ -53315,10 +51735,8 @@ public: /// Figure 219 — Cooling tower port use class IfcCoolingTower : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcCoolingTower - bool hasPredefinedType() const; - IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; - void setPredefinedType(IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v); + boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcCoolingTowerTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -53328,7 +51746,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoolingTower (IfcAbstractEntity* e); - IfcCoolingTower (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType); + IfcCoolingTower (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCoolingTower > list; }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. @@ -53404,10 +51822,8 @@ public: /// Figure 220 — Damper port use class IfcDamper : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDamper - bool hasPredefinedType() const; - IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; - void setPredefinedType(IfcDamperTypeEnum::IfcDamperTypeEnum v); + boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDamperTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -53417,7 +51833,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDamper (IfcAbstractEntity* e); - IfcDamper (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType); + IfcDamper (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDamper > list; }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. @@ -53453,10 +51869,8 @@ public: /// 'Wall': The material from which the wall of the duct is constructed. class IfcDistributionChamberElement : public IfcDistributionFlowElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDistributionChamberElement - bool hasPredefinedType() const; - IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v); + boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionFlowElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDistributionChamberElementTypeEnum; } return IfcDistributionFlowElement::getArgumentEntity(i); } @@ -53466,7 +51880,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElement (IfcAbstractEntity* e); - IfcDistributionChamberElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType); + IfcDistributionChamberElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; }; @@ -53481,7 +51895,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionCircuit (IfcAbstractEntity* e); - IfcDistributionCircuit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); + IfcDistributionCircuit (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionCircuit > list; }; /// The distribution element IfcDistributionControlElement defines occurrence elements of a building automation control system that are used to impart control over elements of a distribution system. @@ -53574,7 +51988,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElement (IfcAbstractEntity* e); - IfcDistributionControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); + IfcDistributionControlElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. @@ -53654,10 +52068,8 @@ public: /// Figure 221 — Duct fitting port use class IfcDuctFitting : public IfcFlowFitting { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDuctFitting - bool hasPredefinedType() const; - IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v); + boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowFitting::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDuctFittingTypeEnum; } return IfcFlowFitting::getArgumentEntity(i); } @@ -53667,7 +52079,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctFitting (IfcAbstractEntity* e); - IfcDuctFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType); + IfcDuctFitting (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctFitting > list; }; /// A duct segment is used to typically join two sections of duct network. @@ -53721,10 +52133,8 @@ public: /// Figure 222 — Duct segment port use class IfcDuctSegment : public IfcFlowSegment { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDuctSegment - bool hasPredefinedType() const; - IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v); + boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowSegment::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDuctSegmentTypeEnum; } return IfcFlowSegment::getArgumentEntity(i); } @@ -53734,7 +52144,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSegment (IfcAbstractEntity* e); - IfcDuctSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType); + IfcDuctSegment (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSegment > list; }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. @@ -53781,10 +52191,8 @@ public: /// Outlet (NOTDEFINED, SOURCE): The flow outlet. class IfcDuctSilencer : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcDuctSilencer - bool hasPredefinedType() const; - IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; - void setPredefinedType(IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v); + boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDuctSilencerTypeEnum; } return IfcFlowTreatmentDevice::getArgumentEntity(i); } @@ -53794,7 +52202,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSilencer (IfcAbstractEntity* e); - IfcDuctSilencer (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType); + IfcDuctSilencer (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSilencer > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. @@ -53897,10 +52305,8 @@ public: /// Figure 197 — Electric appliance port use class IfcElectricAppliance : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricAppliance - bool hasPredefinedType() const; - IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v); + boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricApplianceTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -53910,7 +52316,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricAppliance (IfcAbstractEntity* e); - IfcElectricAppliance (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType); + IfcElectricAppliance (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricAppliance > list; }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. @@ -53972,10 +52378,8 @@ public: /// Figure 199 — Electric distribution board port use class IfcElectricDistributionBoard : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricDistributionBoard - bool hasPredefinedType() const; - IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v); + boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricDistributionBoardTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -53985,7 +52389,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricDistributionBoard (IfcAbstractEntity* e); - IfcElectricDistributionBoard (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType); + IfcElectricDistributionBoard (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricDistributionBoard > list; }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. @@ -54031,10 +52435,8 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power backed by the flow storage device. class IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricFlowStorageDevice - bool hasPredefinedType() const; - IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v); + boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowStorageDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricFlowStorageDeviceTypeEnum; } return IfcFlowStorageDevice::getArgumentEntity(i); } @@ -54044,7 +52446,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricFlowStorageDevice (IfcAbstractEntity* e); - IfcElectricFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType); + IfcElectricFlowStorageDevice (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricFlowStorageDevice > list; }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. @@ -54096,10 +52498,8 @@ public: /// Load (ELECTRICAL, SOURCE): Outgoing power from generator. class IfcElectricGenerator : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricGenerator - bool hasPredefinedType() const; - IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v); + boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricGeneratorTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -54109,7 +52509,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricGenerator (IfcAbstractEntity* e); - IfcElectricGenerator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType); + IfcElectricGenerator (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricGenerator > list; }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. @@ -54155,10 +52555,8 @@ public: /// Drive (NOTDEFINED, SOURCE): Motor connection to a driven device. class IfcElectricMotor : public IfcEnergyConversionDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricMotor - bool hasPredefinedType() const; - IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v); + boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcEnergyConversionDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricMotorTypeEnum; } return IfcEnergyConversionDevice::getArgumentEntity(i); } @@ -54168,7 +52566,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricMotor (IfcAbstractEntity* e); - IfcElectricMotor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType); + IfcElectricMotor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricMotor > list; }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. @@ -54214,10 +52612,8 @@ public: /// Load (ELECTRICAL, SOURCE): Transmits electrical power according to time. class IfcElectricTimeControl : public IfcFlowController { public: - /// Whether the optional attribute PredefinedType is defined for this IfcElectricTimeControl - bool hasPredefinedType() const; - IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; - void setPredefinedType(IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v); + boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowController::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcElectricTimeControlTypeEnum; } return IfcFlowController::getArgumentEntity(i); } @@ -54227,7 +52623,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricTimeControl (IfcAbstractEntity* e); - IfcElectricTimeControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType); + IfcElectricTimeControl (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricTimeControl > list; }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. @@ -54286,10 +52682,8 @@ public: /// Figure 224 — Fan port use class IfcFan : public IfcFlowMovingDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFan - bool hasPredefinedType() const; - IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; - void setPredefinedType(IfcFanTypeEnum::IfcFanTypeEnum v); + boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowMovingDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFanTypeEnum; } return IfcFlowMovingDevice::getArgumentEntity(i); } @@ -54299,7 +52693,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFan (IfcAbstractEntity* e); - IfcFan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType); + IfcFan (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFan > list; }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. @@ -54391,10 +52785,8 @@ public: /// Figure 225 — Filter port use class IfcFilter : public IfcFlowTreatmentDevice { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFilter - bool hasPredefinedType() const; - IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; - void setPredefinedType(IfcFilterTypeEnum::IfcFilterTypeEnum v); + boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTreatmentDevice::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFilterTypeEnum; } return IfcFlowTreatmentDevice::getArgumentEntity(i); } @@ -54404,7 +52796,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFilter (IfcAbstractEntity* e); - IfcFilter (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType); + IfcFilter (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFilter > list; }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. @@ -54475,10 +52867,8 @@ public: /// Line (FIREPROTECTION, SINK): Fire protection. class IfcFireSuppressionTerminal : public IfcFlowTerminal { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFireSuppressionTerminal - bool hasPredefinedType() const; - IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; - void setPredefinedType(IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v); + boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcFlowTerminal::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFireSuppressionTerminalTypeEnum; } return IfcFlowTerminal::getArgumentEntity(i); } @@ -54488,7 +52878,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFireSuppressionTerminal (IfcAbstractEntity* e); - IfcFireSuppressionTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType); + IfcFireSuppressionTerminal (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFireSuppressionTerminal > list; }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. @@ -54545,10 +52935,8 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IfcFlowInstrument : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcFlowInstrument - bool hasPredefinedType() const; - IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; - void setPredefinedType(IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v); + boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcFlowInstrumentTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -54558,7 +52946,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowInstrument (IfcAbstractEntity* e); - IfcFlowInstrument (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType); + IfcFlowInstrument (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowInstrument > list; }; /// Entity Definition @@ -54615,10 +53003,8 @@ public: /// Qto_ProtectiveDeviceTrippingUnitBaseQuantities class IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDeviceTrippingUnit - bool hasPredefinedType() const; - IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType() const; - void setPredefinedType(IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v); + boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcProtectiveDeviceTrippingUnitTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -54628,7 +53014,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceTrippingUnit (IfcAbstractEntity* e); - IfcProtectiveDeviceTrippingUnit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnit > list; }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. @@ -54767,10 +53153,8 @@ public: /// Figure 180 — Sensor port use class IfcSensor : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcSensor - bool hasPredefinedType() const; - IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; - void setPredefinedType(IfcSensorTypeEnum::IfcSensorTypeEnum v); + boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcSensorTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -54780,7 +53164,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSensor (IfcAbstractEntity* e); - IfcSensor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType); + IfcSensor (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSensor > list; }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. @@ -54840,10 +53224,8 @@ public: /// Figure 182 — Unitary control element port use class IfcUnitaryControlElement : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryControlElement - bool hasPredefinedType() const; - IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType() const; - void setPredefinedType(IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v); + boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcUnitaryControlElementTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -54853,7 +53235,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryControlElement (IfcAbstractEntity* e); - IfcUnitaryControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType); + IfcUnitaryControlElement (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryControlElement > list; }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. @@ -54920,10 +53302,8 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IfcActuator : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcActuator - bool hasPredefinedType() const; - IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; - void setPredefinedType(IfcActuatorTypeEnum::IfcActuatorTypeEnum v); + boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcActuatorTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -54933,7 +53313,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActuator (IfcAbstractEntity* e); - IfcActuator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType); + IfcActuator (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcActuator > list; }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. @@ -54980,10 +53360,8 @@ public: /// Input (SIGNAL, SINK): Receives signal. class IfcAlarm : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcAlarm - bool hasPredefinedType() const; - IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; - void setPredefinedType(IfcAlarmTypeEnum::IfcAlarmTypeEnum v); + boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcAlarmTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -54993,7 +53371,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAlarm (IfcAbstractEntity* e); - IfcAlarm (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType); + IfcAlarm (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAlarm > list; }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. @@ -55104,10 +53482,8 @@ public: /// Figure 178 — Controller port use class IfcController : public IfcDistributionControlElement { public: - /// Whether the optional attribute PredefinedType is defined for this IfcController - bool hasPredefinedType() const; - IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; - void setPredefinedType(IfcControllerTypeEnum::IfcControllerTypeEnum v); + boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > PredefinedType() const; + void PredefinedType(boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; } return IfcDistributionControlElement::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcControllerTypeEnum; } return IfcDistributionControlElement::getArgumentEntity(i); } @@ -55117,7 +53493,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcController (IfcAbstractEntity* e); - IfcController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType); + IfcController (std::string v1_GlobalId, boost::optional< IfcOwnerHistory* > v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcObjectPlacement* > v6_ObjectPlacement, boost::optional< IfcProductRepresentation* > v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcController > list; }; diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index 3354b7131c..e2776b536a 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -123,11 +123,11 @@ IfcSchema::IfcProject* IfcHierarchyHelper::addProject(IfcSchema::IfcOwnerHistory } void IfcHierarchyHelper::relatePlacements(IfcSchema::IfcProduct* parent, IfcSchema::IfcProduct* product) { - IfcSchema::IfcObjectPlacement* place = product->hasObjectPlacement() ? product->ObjectPlacement() : 0; + IfcSchema::IfcObjectPlacement* place = product->ObjectPlacement() ? (*product->ObjectPlacement()) : 0; if (place && place->is(IfcSchema::Type::IfcLocalPlacement)) { IfcSchema::IfcLocalPlacement* local_place = (IfcSchema::IfcLocalPlacement*) place; - if (parent->hasObjectPlacement()) { - local_place->setPlacementRelTo(parent->ObjectPlacement()); + if (parent->ObjectPlacement()) { + local_place->PlacementRelTo(*parent->ObjectPlacement()); } } } @@ -147,9 +147,9 @@ IfcSchema::IfcSite* IfcHierarchyHelper::addSite(IfcSchema::IfcProject* proj, Ifc } IfcSchema::IfcSite* site = new IfcSchema::IfcSite(IfcWrite::IfcGuidHelper(), owner_hist, boost::none, - boost::none, boost::none, addLocalPlacement(), 0, boost::none, + boost::none, boost::none, addLocalPlacement(), boost::none, boost::none, IfcSchema::IfcElementCompositionEnum::IfcElementComposition_ELEMENT, - boost::none, boost::none, boost::none, boost::none, 0); + boost::none, boost::none, boost::none, boost::none, boost::none); addEntity(site); addRelatedObject(proj, site); @@ -170,8 +170,8 @@ IfcSchema::IfcBuilding* IfcHierarchyHelper::addBuilding(IfcSchema::IfcSite* site site = addSite(0, owner_hist); } IfcSchema::IfcBuilding* building = new IfcSchema::IfcBuilding(IfcWrite::IfcGuidHelper(), owner_hist, boost::none, boost::none, boost::none, - addLocalPlacement(), 0, boost::none, IfcSchema::IfcElementCompositionEnum::IfcElementComposition_ELEMENT, - boost::none, boost::none, 0); + addLocalPlacement(), boost::none, boost::none, IfcSchema::IfcElementCompositionEnum::IfcElementComposition_ELEMENT, + boost::none, boost::none, boost::none); addEntity(building); addRelatedObject(site, building); @@ -196,7 +196,7 @@ IfcSchema::IfcBuildingStorey* IfcHierarchyHelper::addBuildingStorey(IfcSchema::I building = addBuilding(0, owner_hist); } IfcSchema::IfcBuildingStorey* storey = new IfcSchema::IfcBuildingStorey(IfcWrite::IfcGuidHelper(), - owner_hist, boost::none, boost::none, boost::none, addLocalPlacement(), 0, boost::none, + owner_hist, boost::none, boost::none, boost::none, addLocalPlacement(), boost::none, boost::none, IfcSchema::IfcElementCompositionEnum::IfcElementComposition_ELEMENT, boost::none); addEntity(storey); @@ -261,7 +261,7 @@ void IfcHierarchyHelper::addExtrudedPolyline(IfcSchema::IfcShapeRepresentation* IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); items->push(solid); - rep->setItems(items); + rep->Items(items); addEntity(line); addEntity(profile); @@ -292,7 +292,7 @@ void IfcHierarchyHelper::addBox(IfcSchema::IfcShapeRepresentation* rep, double w { if (false) { IfcSchema::IfcRectangleProfileDef* profile = new IfcSchema::IfcRectangleProfileDef( - IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, 0, place ? place : addPlacement2d(), w, d); + IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, boost::none, place ? place : addPlacement2d(), w, d); IfcSchema::IfcExtrudedAreaSolid* solid = new IfcSchema::IfcExtrudedAreaSolid(profile, place2 ? place2 : addPlacement3d(), dir ? dir : addTriplet(0, 0, 1), h); @@ -300,7 +300,7 @@ void IfcHierarchyHelper::addBox(IfcSchema::IfcShapeRepresentation* rep, double w addEntity(solid); IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); items->push(solid); - rep->setItems(items); + rep->Items(items); } else { std::vector > points; points.push_back(std::pair(-w/2, -d/2)); @@ -322,7 +322,7 @@ void IfcHierarchyHelper::addAxis(IfcSchema::IfcShapeRepresentation* rep, double IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); items->push(poly); - rep->setItems(items); + rep->Items(items); } IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addBox(double w, double d, double h, IfcSchema::IfcAxis2Placement2D* place, @@ -333,7 +333,7 @@ IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addBox(double w, doubl IfcSchema::IfcShapeRepresentation* rep = new IfcSchema::IfcShapeRepresentation( context ? context : getRepresentationContext("Model"), std::string("Body"), std::string("SweptSolid"), items); reps->push(rep); - IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(0, 0, reps); + IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(boost::none, boost::none, reps); addEntity(rep); addEntity(shape); addBox(rep, w, d, h, place, place2, dir, context); @@ -354,7 +354,7 @@ IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addAxisBox(double w, d reps->push(axis_rep); reps->push(body_rep); - IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(0, 0, reps); + IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(boost::none, boost::none, reps); addEntity(shape); addEntity(body_rep); addBox(body_rep, w, d, h, 0, 0, 0, context); @@ -376,12 +376,12 @@ void IfcHierarchyHelper::clipRepresentation(IfcSchema::IfcProductRepresentation* void IfcHierarchyHelper::clipRepresentation(IfcSchema::IfcRepresentation* rep, IfcSchema::IfcAxis2Placement3D* place, bool agree) { - if (rep->RepresentationIdentifier() != "Body") return; + if (!rep->RepresentationIdentifier() || *rep->RepresentationIdentifier() != "Body") return; IfcSchema::IfcPlane* plane = new IfcSchema::IfcPlane(place); IfcSchema::IfcHalfSpaceSolid* half_space = new IfcSchema::IfcHalfSpaceSolid(plane, agree); addEntity(plane); addEntity(half_space); - rep->setRepresentationType("Clipping"); + rep->RepresentationType(std::string("Clipping")); IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); IfcSchema::IfcRepresentationItem::list::ptr new_items (new IfcSchema::IfcRepresentationItem::list); for (IfcSchema::IfcRepresentationItem::list::it i = items->begin(); i != items->end(); ++i) { @@ -391,16 +391,16 @@ void IfcHierarchyHelper::clipRepresentation(IfcSchema::IfcRepresentation* rep, addEntity(clip); new_items->push(clip); } - rep->setItems(new_items); + rep->Items(new_items); } IfcSchema::IfcPresentationStyleAssignment* IfcHierarchyHelper::addStyleAssignment(double r, double g, double b, double a) { IfcSchema::IfcColourRgb* colour = new IfcSchema::IfcColourRgb(boost::none, r, g, b); IfcSchema::IfcSurfaceStyleRendering* rendering = a == 1.0 - ? new IfcSchema::IfcSurfaceStyleRendering(colour, boost::none, 0, 0, 0, 0, - 0, 0, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT) - : new IfcSchema::IfcSurfaceStyleRendering(colour, 1.0-a, 0, 0, 0, 0, - 0, 0, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT); + ? new IfcSchema::IfcSurfaceStyleRendering(colour, boost::none, boost::none, boost::none, boost::none, boost::none, + boost::none, boost::none, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT) + : new IfcSchema::IfcSurfaceStyleRendering(colour, 1.0-a, boost::none, boost::none, boost::none, boost::none, + boost::none, boost::none, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT); IfcEntityList::ptr styles(new IfcEntityList()); styles->push(rendering); @@ -477,15 +477,15 @@ IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addMappedItem( if (def) representations = def->Representations(); if (!transform) { - transform = new IfcSchema::IfcCartesianTransformationOperator3D(0, 0, addTriplet(0,0,0), boost::none, 0); + transform = new IfcSchema::IfcCartesianTransformationOperator3D(boost::none, boost::none, addTriplet(0,0,0), boost::none, boost::none); addEntity(transform); } IfcSchema::IfcMappedItem* item = new IfcSchema::IfcMappedItem(map, transform); IfcSchema::IfcRepresentationItem::list::ptr items(new IfcSchema::IfcRepresentationItem::list); items->push(item); IfcSchema::IfcRepresentation* new_rep = new IfcSchema::IfcShapeRepresentation(rep->ContextOfItems(), boost::none, std::string("MappedRepresentation"), items); - if (rep->hasRepresentationIdentifier()) { - new_rep->setRepresentationIdentifier(rep->RepresentationIdentifier()); + if (rep->RepresentationIdentifier()) { + new_rep->RepresentationIdentifier(*rep->RepresentationIdentifier()); } addEntity(item); addEntity(new_rep); @@ -494,7 +494,7 @@ IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addMappedItem( def = new IfcSchema::IfcProductDefinitionShape(boost::none, boost::none, representations); addEntity(def); } else { - def->setRepresentations(representations); + def->Representations(representations); } return def; } @@ -527,7 +527,7 @@ IfcSchema::IfcGeometricRepresentationContext* IfcHierarchyHelper::getRepresentat boost::none, s, 3, 1e-5, addPlacement3d(), addDoublet(0, 1)); addEntity(context); project_contexts->push(context); - project->setRepresentationContexts(project_contexts); + project->RepresentationContexts(project_contexts); return contexts[s] = context; } } \ No newline at end of file diff --git a/src/ifcparse/IfcHierarchyHelper.h b/src/ifcparse/IfcHierarchyHelper.h index efa9fdd38f..5c3183cc09 100644 --- a/src/ifcparse/IfcHierarchyHelper.h +++ b/src/ifcparse/IfcHierarchyHelper.h @@ -86,7 +86,7 @@ public: if (rel->RelatingObject() == relating_object) { IfcSchema::IfcObjectDefinition::list::ptr products = rel->RelatedObjects(); products->push(related_object); - rel->setRelatedObjects(products); + rel->RelatedObjects(products); found = true; break; } @@ -182,7 +182,7 @@ inline void IfcHierarchyHelper::addRelatedObject RelatingStructure() == relating_object) { IfcSchema::IfcProduct::list::ptr products = rel->RelatedElements(); products->push((IfcSchema::IfcProduct*)related_object); - rel->setRelatedElements(products); + rel->RelatedElements(products); found = true; break; } diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index c8c24e5188..44f84ad665 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -1429,8 +1429,8 @@ std::pair IfcFile::getUnit(IfcSchema::IfcUnitE return_value.first = unit = (IfcSchema::IfcSIUnit*) named_unit; } if (unit) { - if (unit->hasPrefix()) { - return_value.second *= IfcSIPrefixToValue(unit->Prefix()); + if (unit->Prefix()) { + return_value.second *= IfcSIPrefixToValue(*unit->Prefix()); } } }